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


Posted in NodeJs onJanuary 25, 2018

本文实例讲述了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程序设计有所帮助。

NodeJs 相关文章推荐
Windows系统下使用Sublime搭建nodejs环境
Apr 13 NodeJs
NodeJS基础API搭建服务器详细过程记录
Apr 01 NodeJs
NodeJS创建最简单的HTTP服务器
May 15 NodeJs
理解nodejs的stream和pipe机制的原理和实现
Aug 12 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
nodejs操作mongodb的填删改查模块的制作及引入实例
Jan 02 NodeJs
Nodejs中crypto模块的安全知识讲解
Jan 03 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 NodeJs
nodejs中函数的调用实例详解
Oct 31 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
独立部署小程序基于nodejs的服务器过程详解
Jun 24 NodeJs
详解nodeJs文件系统(fs)与流(stream)
Jan 24 #NodeJs
nodejs 最新版安装npm 的使用详解
Jan 18 #NodeJs
使用npm安装最新版本nodejs
Jan 18 #NodeJs
nodejs结合socket.io实现websocket通信功能的方法
Jan 12 #NodeJs
nodejs结合Socket.IO实现的即时通讯功能详解
Jan 12 #NodeJs
nodejs基于WS模块实现WebSocket聊天功能的方法
Jan 12 #NodeJs
nodejs使用http模块发送get与post请求的方法示例
Jan 08 #NodeJs
You might like
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
php数组去重的函数代码
2013/02/03 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
学习php开源项目的源码指南
2014/12/21 PHP
没有document.getElementByName方法
2013/08/19 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
js实现文本框输入文字个数限制代码
2015/12/25 Javascript
Windows 系统下设置Nodejs NPM全局路径
2016/04/26 NodeJs
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
python基础教程之常用运算符
2014/08/29 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
Django自定义列表 models字段显示方式
2020/04/03 Python
Python安装Bs4的多种方法
2020/11/28 Python
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
自我评价怎么写正确呢?
2013/12/02 职场文书
售后服务经理岗位职责
2014/02/25 职场文书
岗位廉洁从政承诺书
2014/03/27 职场文书
分公司经理任命书
2014/06/05 职场文书
停车场管理协议书范本
2014/10/08 职场文书
2014年保育员工作总结
2014/12/02 职场文书
运动员入场前导词
2015/07/20 职场文书
Matlab如何实现矩阵复制扩充
2021/06/02 Python
详细聊聊MySQL中慢SQL优化的方向
2021/08/30 MySQL
Redis三种集群模式详解
2021/10/05 Redis