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

  • 相关阅读:
    Shell编程笔记
    Git学习笔记
    JavaScript+jQuery实现简单的动态菜单
    JSON表单提交(ajax异步刷新)
    Json简单实例
    jsp分页
    浅谈this关键字
    Servlet+Javabean+Html实现简单的查询.删除.修改.添加四个功能
    Tomcat的安装与在myeclips中的配置
    jsp页面实现增删修改和查询
  • 原文地址:https://www.cnblogs.com/Nick-Hu/p/8735670.html
Copyright © 2011-2022 走看看