首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >nodejs 封装mysql连接池

nodejs 封装mysql连接池

作者头像
Theone67
发布2019-11-21 17:04:36
发布2019-11-21 17:04:36
5.6K1
举报
写在前面的

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

上代码

一下是写在mysqls.js中的

代码语言:javascript
复制
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接口即可

代码语言:javascript
复制
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('新加板块成功!');
        }
    });

大功告成!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-04-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 写在前面的
  • 上代码
    • 如何使用
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档