欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

nodejs实现的连接MySQL数据库功能示例

程序员文章站 2022-08-27 11:59:07
本文实例讲述了nodejs实现的连接mysql数据库功能。分享给大家供大家参考,具体如下: 1、在工程目录下运行npm install mysql安装用于nodejs的m...

本文实例讲述了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、查询示例

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;

希望本文所述对大家nodejs程序设计有所帮助。