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中启用ECMAScript 6小结(windos以及Linux)
Jul 15 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 NodeJs
nodejs实例解析(输出hello world)
Jan 03 NodeJs
NodeJS处理Express中异步错误
Mar 26 NodeJs
详解nodejs express下使用redis管理session
Apr 24 NodeJs
nodejs搭建本地服务器轻松解决跨域问题
Mar 21 NodeJs
nodejs多版本管理总结
Apr 03 NodeJs
nodejs 使用http进行post或get请求的实例(携带cookie)
Jan 03 NodeJs
用Nodejs实现在终端中炒股的实现
Oct 18 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连接MySQL代码的参数说明
2008/06/07 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
JS继承 笔记
2011/07/13 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
JQuery与JS里submit()的区别示例介绍
2014/02/17 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
基于jquery实现的自动补全功能
2015/03/12 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
js评分组件使用详解
2017/06/06 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
详解element-ui设置下拉选择切换必填和非必填
2019/06/17 Javascript
使用Python标准库中的wave模块绘制乐谱的简单教程
2015/03/30 Python
Python将图片转换为字符画的方法
2020/06/16 Python
Python 支付整合开发包的实现
2019/01/23 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
python实现局域网内实时通信代码
2019/12/22 Python
python轮询机制控制led实例
2020/05/03 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
优秀经理事迹材料
2014/02/01 职场文书
大学生秋游活动方案
2014/02/17 职场文书
教师正风肃纪心得体会
2016/01/15 职场文书
关于做家务的心得体会
2016/01/23 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android