nodejs中使用mysql连接池

使用连接池

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var mysql = require('mysql');
var pool = mysql.createPool({
host: '192.168.20.6',
user: 'root',
password: '123321',
database: 'magic'
});
pool.getConnection(function(err, connection){
if (err) {
console.log(err);
}
connection.query(sql, function(qerr, result){
if (qerr) {
console.log(qerr);
} else {
console.log(result);
}
//释放连接
connection.release();
});
});

实战中使用 node-mysql

这里将查询 sql 返回结果封装成了 sqlHandle.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getResult(pool,sql){
return new Promise((resolve,reject) => {
pool.getConnection((err,connection) => {
if(err){
reject(err);
}

connection.query(sql, (qerr, result) => {
if (qerr) {
reject(qerr);
} else {
resolve({result: result});
}
//释放连接
connection.release();
});
});
});
}

module.exports = {
getResult
}

使用连接池