zoukankan      html  css  js  c++  java
  • 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为变量

  • 相关阅读:
    推荐系统(Recommender System)
    Mac OS X安装OpenGL
    KMeans实现
    Principal Component Analysis(PCA)
    ReactiveX 学习笔记(15)使用 Rx.NET + Json.NET 调用 REST API
    ReactiveX 学习笔记(14)使用 RxJava2 + Retrofit2 调用 REST API
    Haskell语言学习笔记(91)Comprehension Extensions
    Go语言学习笔记(2)
    Go语言学习笔记(1)
    Rust语言学习笔记(6)
  • 原文地址:https://www.cnblogs.com/Nick-Hu/p/9473389.html
Copyright © 2011-2022 走看看