1.单句数据库操作方法:
/*单语句sql*/ function mysqlOperate(sql, callback) { var con = mysql.createConnection(conf.c7); con.connect(function (err) { 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(); }); } }); }
2.事物sql
/*事物sql*/ function mysqlTransact(sqls, callback) { var con = mysql.createConnection(conf.c7); 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); } }); } } }); } }); }
3.格式化化sql的方法
/** * * 字符串占位符替换 * @return {[type]} [description] */ String.prototype.format = function(){ if(arguments.length==0) return this; var temp=new Array(); var arg = arguments; for(var i=0;i<arguments.length;i++) temp.push(arguments[i]) var i=0 return(this.replace(/\{\d+\}/g,function(a){return temp[i++]})) };
4.sql格式化代码的伪代码
var sql = "select * from u_user_info where id = {0}"; sql = sql.format(id);//这里的id为变量