zoukankan      html  css  js  c++  java
  • 2.Express封装mysq方法

    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);
                    }
                });
            }
        });
    }

  • 相关阅读:
    计算机存储单位
    TcpListener、TcpClient
    JobConf
    JobClient
    python正则方法
    c#列表操作
    C#解析xml
    C#字符串操作函数
    Binding
    Name和:Name
  • 原文地址:https://www.cnblogs.com/Nick-Hu/p/8735670.html
Copyright © 2011-2022 走看看