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写的一个简单项目打包工具
May 11 NodeJs
Nodejs全栈框架StrongLoop推荐
Nov 09 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
ubuntu下安装nodejs以及升级的办法
May 08 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
nodejs中sleep功能实现暂停几秒的方法
Jul 12 NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 NodeJs
详解使用vscode+es6写nodejs服务端调试配置
Sep 21 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
Nodejs监听日志文件的变化的过程解析
Aug 04 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
MYSQL数据库初学者使用指南
2006/11/16 PHP
php生成静态文件的多种方法分享
2012/07/17 PHP
thinkphp实现多语言功能(语言包)
2014/03/04 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
根据分辨率不同,调用不同的css文件
2006/07/07 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
[39:11]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第二局
2016/02/28 DOTA
[55:48]VGJ.S vs TNC Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
python数组过滤实现方法
2015/07/27 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
Python和Java进行DES加密和解密的实例
2018/01/09 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python实现各种插值法(数值分析)
2019/07/30 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
如何基于Python批量下载音乐
2019/11/11 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
Python中断多重循环的几种方式详解
2020/02/10 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
Python实现代码块儿折叠
2020/04/15 Python
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
无谷物狗粮:Pooch & Mutt
2018/05/23 全球购物
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
财务副总经理工作职责
2013/11/25 职场文书
财务总监岗位职责
2014/03/07 职场文书
年度安全生产目标责任书
2014/07/23 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书
python装饰器代码解析
2022/03/23 Python