zoukankan      html  css  js  c++  java
  • 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('新加板块成功!');
    		}
    	});
    

    大功告成!

  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/theone67/p/6732813.html
Copyright © 2011-2022 走看看