• nodejs 封装mysql连接池


    写在前面的

    在nodejs后台代码中,我们总是会和数据库打交道
    然而,每次都要写数据库的配置以及连接和断开,不胜其烦
    我就封装了一个连接池模块,不足之处还请多多批评

    上代码

    一下是写在mysqls.js中的

    var db    = {};  
    var mysql = require('mysql');  
    var pool  = mysql.createPool({  
      connectionLimit : 10,  
      host            : 'localhost',  
      user            : 'root',  
      password        : 'root',  
      database        : 'bbs'  
    });  
    db.query = function(){  
      var sql,para,callback;
      if (arguments.length == 2) {
        sql = arguments[0];
        callback = arguments[1];
      } else {
        sql = arguments[0];
        para = arguments[1];
        callback = arguments[2];
      }
      if (!sql) {  
        callback();  
        return;  
      }
      if (!para) {
        para = [];
      }
      pool.query(sql, para, function(err, rows, fields) {  
        if (err) {  
          console.log(err);  
          callback(err, null);  
          return;  
        };
        callback(null, rows, fields);  
      });
    }  
    module.exports = db;
    
    如何使用

    引用模块之后,直接调用query接口即可

    var db = require('../lib/mysqls');
    	db.query('select * from bk',function (err, data, fields) {
    		if (err) {
    			throw err;
    		}
    		console.log(data);
    		res.render('admin/page/list', {data: data})
    	});
    	db.query('insert into bk(bkname,bkadmin) values(?,?)',[bkname,bkadmin],function (err, data, fields) {
    		if (err) {
    			throw err;
    		}
    		if (data.affectedRows == 1) {
    			res.send('新加板块成功!');
    		}
    	});
    

    大功告成!

  • 相关阅读:
    华为机试:字符串翻转
    华为机试:数字颠倒
    华为机试:字符个数统计
    华为机试:提取不重复的整数
    华为机试:取近视值
    华为机试:进制转换
    华为机试:字符串分隔
    华为机试:明明的随机数
    华为机试:字符串最后一个单词的长度
    网易:相反数
  • 原文地址:https://www.cnblogs.com/theone67/p/6732813.html
Copyright © 2020-2023  润新知