• 数据库访问
    • 连接和查询MySQL数据库
      • 连接数据库
      • 查询数据库

    数据库访问

    工具箱中提供了多种访问数据库的方法,下面以MySQL举例说明它的使用。

    连接和查询MySQL数据库

    提供操作MySQL数据库相关的工具函数,通过直接require引入leanpro.mysql库来使用。

    1. const mysql = require('leanpro.mysql');

    leanpro.mysql库封装了mysql库,并提供了返回Promise的query方法,query方法可以用来执行查询、更新、删除等操作。下面是它的函数说明:

    1. query(connection: Connection, query: Query): Promise<any>;
    2. query(connection: Connection, options: string | QueryOptions): Promise<any>;
    3. query(connection: Connection, options: string, values: any): Promise<any>;

    leanpro.mysql库是对mysql库的简单封装,下面简单举例说明,更多的详细的调用方法可以查看mysql npm包。

    连接数据库

    输入数据库的信息,包括主机名称、用户名、密码、数据库名称、是否为安全连接,来创建对目标数据库的连接。

    image

    生成的代码如下:

    1. const mysql = require('leanpro.mysql');
    2. let connectionSetting = {
    3. "host": "localhost",
    4. "user": "sa",
    5. "password": "password",
    6. "database": "my_database",
    7. "insecureAuth": true
    8. }
    9. let conn = mysql.createConnection(connectionSetting);

    这样便完成了数据库连接的创建,在下一步中我们来操作数据库并验证连接的有效性。

    查询数据库

    根据SQL语句来查询指定数据库。

    image

    生成的代码如下:

    1. let res = await mysql.query(conn, "select * from Users");

    结合前一步创建的数据库连接,将上面填写在async函数体内部,并将查询结果打印输出到控制台,形成的完整代码如下:

    1. const mysql = require('leanpro.mysql');
    2. (async function () {
    3. let connectionSetting = {
    4. "host": "localhost",
    5. "user": "sa",
    6. "password": "password",
    7. "database": "my_database",
    8. "insecureAuth": true
    9. }
    10. let conn = mysql.createConnection(connectionSetting);
    11. let sql = "select * from Users";
    12. let res = await mysql.query(conn, sql);
    13. console.log(JSON.stringify(res));
    14. conn.end();
    15. })();

    运行结果与你的SQL和数据内容相关,以下只是范例:

    1. [{
    2. "UserId": 1,
    3. "UserName": "admin",
    4. "Email": "admin@domain.com",
    5. }, {
    6. "UserId": 2,
    7. "UserName": "user1",
    8. "Email": "user1@domain.com"
    9. }, {
    10. "UserId": 3,
    11. "UserName": "user2",
    12. "Email": "user2@domain.com"
    13. }]

    注意我们在代码中调用了conn.end()方法,关闭数据库连接,这样才能正确结束脚本执行。实际使用中可在所有数据库操作结束后调用这条语句关闭连接。