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如何搭建Web服务器
Mar 28 NodeJs
nodejs实现邮件发送服务实例分享
Mar 29 NodeJs
详解Nodejs 通过 fs.createWriteStream 保存文件
Oct 10 NodeJs
nodejs实现范围请求的实现代码
Oct 12 NodeJs
nodejs微信开发之自动回复的实现
Mar 17 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 NodeJs
nodejs 递归拷贝、读取目录下所有文件和目录
Jul 18 NodeJs
typescript nodejs 依赖注入实现方法代码详解
Jul 21 NodeJs
nodejs脚本centos开机启动实操方法
Mar 04 NodeJs
Nodejs文件上传、监听上传进度的代码
Mar 27 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遍历目录并返回统计目录大小
2014/06/09 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
jquery 年会抽奖程序
2011/12/22 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
jquery表单对象属性过滤选择器实例分析
2015/05/18 Javascript
对JavaScript客户端应用编程的一些建议
2015/06/24 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
vue.js评论发布信息可插入QQ表情功能
2017/08/08 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
2017/09/01 jQuery
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[02:16]完美世界DOTA2联赛PWL S3 集锦第三期
2020/12/21 DOTA
python连接mysql调用存储过程示例
2014/03/05 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
Python实现判断一个字符串是否包含子串的方法总结
2017/11/21 Python
python列表的增删改查实例代码
2018/01/30 Python
Python中时间datetime的处理与转换用法总结
2019/02/18 Python
Python3实现的简单工资管理系统示例
2019/03/12 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
windows上彻底删除jupyter notebook的实现
2020/04/13 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
态度决定一切演讲稿
2014/05/20 职场文书
银行业务授权委托书
2014/10/10 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
保研导师推荐信
2015/03/25 职场文书
golang中切片copy复制和等号复制的区别介绍
2021/04/27 Golang
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
python缺失值填充方法示例代码
2022/12/24 Python