Appearance
1. 安装mysql
npm i mysql
2. 封装mysql
封装完成后直接调用即可
js
'use strict';
const mysql = require('docs/js/node/mysql');
const pool = mysql.createPool({
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'demo'
});
/**
* [query description]
* @return {[type]} [description]
*/
// 如果用户传递了两个参数,那么第一个就是 SQL 操作字符串, 第二个就是回调函数
// 如果是三个参数:第一个SQL字符串,第二个数组,第三个参数回调函数
exports.query = function () {
let args = arguments;
let sqlStr = args[0];
let params = [];
let callback;
if (args.length === 2 && typeof args[1] === 'function') {
callback = args[1];
} else if (args.length === 3 && Array.isArray(args[1]) && typeof args[2] === 'function') {
params = args[1];
callback = args[2];
} else {
throw new Error('参数个数不匹配');
}
pool.getConnection(function (err, connection) {
if (err) {
callback(err);
}
connection.query(sqlStr, params, function (err, rows) {
if (err) {
callback(err);
}
connection.release();
callback.apply(null, arguments);
});
});
};
3.使用
js
var selectSql = 'insert into cart (id,userId,productId,num,size,isDelete) values (null,?,?,?,?,1)';
db.query(selectSql, [cart.userId, cart.productId, cart.num, cart.size], function (err, result) {
if (err) {
return callback(err);
}
callback(err, result);
});