前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs 封装mysql连接池

nodejs 封装mysql连接池

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

在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 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面的
  • 上代码
    • 如何使用
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档