1.mysql操作方法封装
var mysqlconf = {host:conf.server,port:conf.port,database:conf.database,charset:conf.charset,user:conf.uid,password:conf.password,connectionLimit:20};//mysql连接池配置 var myPool = require('mysql').createPool(mysqlconf);//建立连接 //单个查询 function mysqlOperate(sql,callback){ myPool.getConnection(function(err,con){ if(err){ console.log('mysqlDBOperate------getConnection--1--,err:'+err); callback(err,con); }else{ con.query(sql,function(err,rows){ if(err) console.log('mysqlDBOperate---- update db returned,err:'+err+',sql:'+sql); callback(err,rows); //con.end(); con.release(); }); } }); } //事物查询 function mysqlTransact(sqls,callback){ var con = require('mysql').createConnection({host:conf.server,port:conf.port,database:conf.database,charset:conf.charset,user:conf.uid,password:conf.password}); con.connect(function(err){ if(err){ console.log('mysqlTransact------getConnection--1--,err:'+err); callback(err); }else{ var index = 0; con.beginTransaction(function(err){ if(err){ con.end(); callback(err); }else{ trans(sqls,0,function(err){ console.log('trans complete,err:'+err); con.end(); callback(err); }); } function trans(transql,index,callback){ if(index >= transql.length){ con.commit(function(err){ if(err) con.rollback(); callback(err); }); }else{ con.query(transql[index],function(err,rows){ if(err){ con.rollback(); callback(err,rows); }else{ index++; trans(transql,index,callback); } }); } } }); } }); } //mysql连接函数封装 function mysqlTransCon(callback){ var con = require('mysql').createConnection(MYSQCONF); con.connect(function(err){ if(err){ console.log('mysqlTransCon------getConnection--1--,err:'+err); callback(err); }else{ con.beginTransaction(function(err){ if(err){ con.end(); callback(err); }else{ callback(null,con); } }); } }); }