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

  • 相关阅读:
    GIS开发站点收藏
    读取Excel中的数据到DataSet
    SPSS统计功能与模块对照表
    相关性分析主要源码
    Matlab典型论坛
    EasyUI入门视频教程
    利用EF ORM Mysql实体运行程序出错解决方案
    小议
    六、 从Controller中访问模板数据(ASP.NET MVC5 系列)
    五、 创建连接串连接本地数据库(ASP.NET MVC5 系列)
  • 原文地址:https://www.cnblogs.com/Nick-Hu/p/8735670.html
Copyright © 2011-2022 走看看