专栏首页only theone 的记录nodejs 封装mysql连接池

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('新加板块成功!');
        }
    });

大功告成!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在javascript中对于this指向的再次理解

    总所周知,function () {}函数体内的this对象指向的是调用该函数的对象,那么我们看一下这个例子

    Theone67
  • 类加载机制

    1.访问类的编译期静态常量时,不会触发类的初始化行为。类的初始化行为是指在类被加载之后(也就是类的Class对象被创建之后),为类的静态成员变量分配存储空间。

    Theone67
  • 妙用$.extend

    在js中,我们有时需要复制一个对象的值,而不是复制它的引用的时候,可以使用jquery的$.extend方法,简单代码如下

    Theone67
  • 手把手教你使用Dygraphs可视化时间序列数据(附代码、链接)

    本文将介绍如何使用JavaScript的图形库Dygraphs来动态地可视化存储在InfluxDB(时间序列数据库)中不断更新的时间序列数据。

    数据派THU
  • 股票交易日定时爬取上交所/深交所所有股票行情数据存储到数据库

    远程ssh配置,配置定时任务(tip:建议晚上进行采集(或闭市时间),因为交易时间,股票的数据在动态变化)

    互联网金融打杂
  • 5.2 二维导热算例

    本节算例使用actionScript编写,与javascript语法相近。主要阅读理解其算法,可以自己试着开发二维程序。

    周星星9527
  • 从敢用到好用:运营商NFV规模商用需迈过三道坎

    之前,根据梅特卡夫定律,随着网络规模和用户群的增大,运营商可以取得更多的收入,也很愿意在基础设施上投入更多的资金,网络建设—用户增长---收入增长---网络扩容...

    SDNLAB
  • 646. 第一个独特字符位置

    给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回 -1。 样例 给出字符串 s = "lintcode",返回 0...

    和蔼的zhxing
  • Jerry Wang诚邀广大SAP同仁免费加入我的知识星球,共同探讨SAP技术问题

    大家知道Jerry Wang有一个微信公众号,2017年12月27日,Jerry的这个公众号发布了第一篇文章。到今天2018年10月底为止,正好十个月。

    Jerry Wang
  • 微信公众号迁移的整理

    用户2930719

扫码关注云+社区

领取腾讯云代金券