mysql

安装

安装 mysql 库:

 npm i -S mysql
1

配置

创建 db 目录,新建两个文件:

index.js
config.js
1
2

config.js 源码如下:

module.exports = {
  host: 'localhost',
  user: 'root',
  password: '12345678',
  database: 'book'
}
1
2
3
4
5
6

连接

连接数据库需要提供使用 mysql 库的 createConnection 方法,我们在 index.js 中创建如下方法:

function connect() {
  return mysql.createConnection({
    host,
    user,
    password,
    database,
    multipleStatements: true
  })
}
1
2
3
4
5
6
7
8
9

multipleStatements:允许每条 mysql 语句有多条查询.使用它时要非常注意,因为它很容易引起 sql 注入(默认:false)

查询

查询需要调用 connection 对象的 query 方法:

function querySql(sql) {
  const conn = connect()
  debug && console.log(sql)
  return new Promise((resolve, reject) => {
    try {
      conn.query(sql, (err, results) => {
        if (err) {
          debug && console.log('查询失败,原因:' + JSON.stringify(err))
          reject(err)
        } else {
          debug && console.log('查询成功', JSON.stringify(results))
          resolve(results)
        }
      })
    } catch (e) {
      reject(e)
    } finally {
      conn.end()
    }
  })
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

我们在 constant.js 创建一个 debug 参数控制日志打印:

const debug = require('../utils/constant').debug
1

这里需要注意 conn 对象使用完毕后需要调用 end 进行关闭,否则会导致内存泄露

调用方法如下:

db.querySql('select * from book').then(result => {
  console.log(result)
})
1
2
3
上次更新: 11/23/2019, 3:06:41 PM