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学习笔记之(Url,QueryString,Path)模块
Jan 13 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
iPhone手机上搭建nodejs服务器步骤方法
Jul 06 NodeJs
使用nodejs中httpProxy代理时候出现404异常的解决方法
Aug 15 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
nodejs取得当前执行路径的方法
May 13 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
监控Nodejs的性能实例代码
Jul 02 NodeJs
Nodejs实现图片上传、压缩预览、定时删除功能
Oct 25 NodeJs
nodejs中使用archive压缩文件的实现代码
Nov 26 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 判断常量,变量和函数是否存在
2009/04/26 PHP
PHP实现事件机制的方法
2015/07/10 PHP
php中文字符串截取多种方法汇总
2016/10/06 PHP
注释PHP和html混合代码的小技巧(分享)
2016/11/03 PHP
PHP实现RTX发送消息提醒的实例代码
2017/01/03 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
RequireJS使用注意细节
2016/05/15 Javascript
select下拉框插件jquery.editable-select详解
2017/01/22 Javascript
React-router中结合webpack实现按需加载实例
2017/05/25 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
获取本机IP地址的实例(JavaScript / Node.js)
2017/11/24 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
pyenv命令管理多个Python版本
2017/03/26 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
Python 编码规范(Google Python Style Guide)
2018/05/05 Python
ActiveMQ:使用Python访问ActiveMQ的方法
2019/01/30 Python
Python3操作YAML文件格式方法解析
2020/04/10 Python
pyinstaller打包找不到文件的问题解决
2020/04/15 Python
python中format函数如何使用
2020/06/22 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
OLEDBConnection和SQLConnection有什么区别
2013/05/31 面试题
linux面试题参考答案(7)
2012/10/29 面试题
八年级音乐教学反思
2014/01/09 职场文书
《小壁虎借尾巴》教学反思
2014/02/16 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
寻找成龙观后感
2015/06/12 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android