发布于 2018-02-05 09:28:14 | 238 次阅读 | 评论: 0 | 来源: 网友投递
Node.js 服务器端的JavaScript
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞I/O 模型变得轻量和高效, 非常适合 运行在分布式设备 的 数据密集型 的实时应用
本文实例讲述了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程序设计有所帮助。