本文实例讲述了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;