访问Mysql数据库
博客简介
在 node 环境下,使用 express 框架访问 mysql 数据库,本文介绍和记录下具体的连接方法和详细代码
一、创建数据库连接池
创建 dbPool
文件,创建数据库连接池
// 引入mysql
var mysql = require('mysql');
// 创建连接池
var pool = mysql.createPool({
connectionLimit: 50,
host: '127.0.0.1', // 连接的服务器
user: 'admin', // 用户名
password: '123456', // 用户密码
database: 'db01' // 选择的库
});
二、编写查询方法
在 dbPool
文件中创建 mysql 数据库的查询公共方法
exports.query = function (sql, P, C) {
var params = [];
var callback;
// 如果用户传入了两个参数,就是SQL和callback
if (arguments.length == 2 && typeof arguments[1] == 'function') {
callback = P;
} else if (arguments.length == 3 && Array.isArray(arguments[1]) && typeof arguments[2] == 'function') {
params = P;
callback = C;
} else {
throw new Error('对不起,参数个数不匹配或者参数类型错误');
}
// 如果用户传入了三个参数,那么就是SQL和参数数组、回调函数
// 从池子里面拿一个可以使用的连接
pool.getConnection(function (err, connection) {
// Use the connection
connection.query(sql, params, function () {
// 使用完毕之后,将该连接释放回连接池
connection.release();
callback.apply(null, arguments);
});
});
};
三、调用方法测试
// 引入 dbPool 文件
var db = require('./dbPool');
/**
* 访问mysql数据库
* @param {请求} req
* @param {结果} res
*/
exports.connectMysqlDB = function(req, res) {
var sql = 'SELECT * FROM table';
try {
db.query(sql, function(err, result){
if(err) {
console.log(err);
res.send({resCode: -200, data: '', msg: 'error'});
}else {
res.send({resCode: 200, data: result, msg: 'error'});
}
});
} catch (error) {
res.send({resCode: -200, data: '', msg: 'error'});
}
}