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