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 相关文章推荐
NodeJs中的非阻塞方法介绍
Jun 05 NodeJs
Nodejs从有门道无门菜鸟起飞必看教程
Jul 20 NodeJs
详解Nodejs基于mongoose模块的增删改查的操作
Dec 21 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
nodejs入门教程四:URL相关模块用法分析
Apr 24 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 NodeJs
分享五个Node.js开发的优秀实践 
Apr 07 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安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
Jquery 扩展方法
2010/05/06 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
2012/06/20 Javascript
Underscore.js 的模板功能介绍与应用
2012/12/24 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
离开当前页面前使用js判断条件提示是否要离开页面
2014/05/02 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
2016/10/28 Javascript
jquery 通过ajax请求获取后台数据显示在表格上的方法
2018/08/08 jQuery
基于javascript canvas实现五子棋游戏
2020/07/08 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[00:10]DOTA2全国高校联赛 以DOTA2会友
2018/05/30 DOTA
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Fabric 应用案例
2016/08/28 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python SMTP发送邮件遇到的一些问题及解决办法
2018/10/24 Python
在django中实现页面倒数几秒后自动跳转的例子
2019/08/16 Python
Python 3.8正式发布重要新功能一览
2019/10/17 Python
python滑块验证码的破解实现
2019/11/10 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
美国汽配连锁巨头Pep Boys官网:轮胎更换、汽车维修服务和汽车零部件
2017/01/14 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
在线吉他课程,学习如何弹吉他:Fender Play
2019/02/28 全球购物
汽车销售经理岗位职责
2014/06/09 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
作风整顿个人剖析材料
2014/10/06 职场文书
实习班主任自我评价
2015/03/11 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
幼儿体育课教学反思
2016/02/16 职场文书
如何用JS实现简单的数据监听
2021/05/06 Javascript
分享提高 Python 代码的可读性的技巧
2022/03/03 Python