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 sublime text 3安装与配置
Jun 19 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
初探nodeJS
Jan 24 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
nodejs入门教程三:调用内部和外部方法示例
Apr 24 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
Apr 27 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 NodeJs
nodejs aes 加解密实例
Oct 10 NodeJs
手把手教你如何使用nodejs编写cli命令行
Nov 05 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 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
浅谈电磁辐射对健康的影响
2021/03/01 无线电
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
jQuery中的.bind()、.live()和.delegate()之间区别分析
2011/06/08 Javascript
jQuery点击后一组图片左右滑动的实现代码
2012/08/16 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
Three.js快速入门教程
2016/09/09 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
bootstrapTable+ajax加载数据 refresh更新数据
2018/08/31 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
JS 实现发送短信验证码的“59秒后重新发送验证短信”功能
2019/08/23 Javascript
js中比较两个对象是否相同的方法示例
2019/09/02 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python返回昨天日期的方法
2015/05/13 Python
读写json中文ASCII乱码问题的解决方法
2016/11/05 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
django模板语法学习之include示例详解
2017/12/17 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
Python 私有属性和私有方法应用场景分析
2020/06/19 Python
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
总经理秘书工作职责
2013/12/26 职场文书
大学生两会精神学习心得体会
2014/03/10 职场文书
人事行政经理岗位职责
2014/06/18 职场文书
八项规定对照检查材料
2014/08/31 职场文书
教师工作表现评语
2014/12/31 职场文书
植物园观后感
2015/06/11 职场文书
小学毕业感言200字
2015/07/30 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS