nodejs连接mysql实例

 

1、在工程目录下运行npm install mysql安装用于nodejs的mysql模块;

2、创建db.js模块用于连接mysql,同时定义query查询方法;

var mysql = require('mysql');

// 创建一个数据库连接池
var pool = mysql.createPool({
  connectionLimit: 50,
  host: 'localhost',
  user: 'admin',
  password: '123456',
  database: 'rp-test'
});

// SELECT * FROM users
// 让我们的方法支持两种模式
// 一种是只传入SQL语句和回调函数
// 一种是传入SQL语句、参数数据、回调函数

exports.query = function (sql, P, C) {
  var params = [];
  var callback;

  // 如果用户传入了两个参数,就是SQL和callback
  if (arguments.length == 2 && typeof arguments[1] == 'function') {
    callback = P;
  } else if (arguments.length == 3 && Array.isArray(arguments[1]) && typeof arguments[2] == 'function') {
    params = P;
    callback = C;
  } else {
    throw new Error('对不起,参数个数不匹配或者参数类型错误');
  }


  // 如果用户传入了三个参数,那么就是SQL和参数数组、回调函数


  // 从池子里面拿一个可以使用的连接
  pool.getConnection(function (err, connection) {
    // Use the connection
    connection.query(sql, params, function () {
      // 使用完毕之后,将该连接释放回连接池
      connection.release();
      callback.apply(null, arguments);
    });
  });
};

3、查询示例

按 Ctrl+C 复制代码

var express = require('express');

var db = require('./db');

var router = express.Router();

router.get('/',function(req, res, next){ db.query("select * from app",function(err,result){ //console.log(result);

res.send(JSON.stringify (result)); }); });

module.exports=router;

posted @ 2017-04-27 09:20  Nonevx  阅读(253)  评论(0编辑  收藏  举报