4.node中封装数据库的操作的方法

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为变量

原文地址:https://www.cnblogs.com/Nick-Hu/p/9473389.html