依赖模块:
1. mysql:
npm install mysql --save
2. async:
npm install async --save
(ps: async模块可换成其它promise模块如bluebird、q等)
因为node.js的mysql模块本身对于事务的封装过于简单,而且直接使用会有很严重callback hell,故我们封装了两个方法,一个用来初始化sql & params,一个用来执行事务。
初始化sql & params:
function _getnewsqlparamentity(sql, params, callback) {
if (callback) {
return callback(null, {
sql: sql,
params: params
});
}
return {
sql: sql,
params: params
};
}
如果你要执行多条sql语句,则需要:
var sqlparamsentity = [];
var sql1 = "insert table set a=?, b=? where 1=1";
var param1 = {a:1, b:2};
sqlparamsentity.push(_getnewsqlparamentity(sql1, param1));
var sql2 = "upd