Node.js 必会技能:封装 MySQL 数据库连接

在 Node.js 开发中,经常需要与数据库进行交互,而 MySQL 是一个广泛使用的关系型数据库管理系统。为了方便重复使用和维护数据库连接,我们可以将数据库连接的封装为一个模块,这样可以提高代码的可读性和可维护性。

封装 MySQL 数据库连接

首先,我们需要安装 mysql 模块,可以使用 npm 进行安装:

npm install mysql

接下来,我们创建一个名为 db.js 的文件,用于封装 MySQL 数据库连接:

// db.js
const mysql = require('mysql');

const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'my_database'
});

module.exports = {
  query: function (sql, values) {
    return new Promise((resolve, reject) => {
      pool.getConnection(function (err, connection) {
        if (err) {
          reject(err);
        } else {
          connection.query(sql, values, (error, results, fields) => {
            connection.release();
            if (error) {
              reject(error);
            } else {
              resolve(results);
            }
          });
        }
      });
    });
  }
};

在上面的代码中,我们创建了一个连接池 pool,然后导出一个包含 query 方法的对象,用于执行 SQL 查询。

使用封装的数据库连接

现在我们可以在其他文件中引入 db.js 模块,并使用封装的数据库连接来执行 SQL 查询:

const db = require('./db');

const sql = 'SELECT * FROM users';

db.query(sql)
  .then(results => {
    console.log(results);
  })
  .catch(error => {
    console.error(error);
  });

以上代码演示了如何在 Node.js 中使用封装的数据库连接执行一个简单的查询,并输出结果。

总结

通过封装 MySQL 数据库连接,我们可以更方便地管理数据库连接,提高代码的可复用性和可维护性。这样的封装方法也可以应用在其他数据库连接中,如 MongoDB、PostgreSQL 等。

希望本文能够帮助大家更好地理解如何在 Node.js 中封装 MySQL 数据库连接,并在实际项目中应用这一技巧。


流程图

flowchart TD
    A(开始) --> B{数据库连接}
    B -->|成功| C[执行SQL查询]
    C --> D(结束)
    B -->|失败| E[报错]
    E --> D

通过这个简单的流程图,可以更直观地了解封装数据库连接的执行过程。希望能对大家有所帮助!