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的url截取模块url-extract的使用实例
Nov 18 NodeJs
Nodejs中自定义事件实例
Jun 20 NodeJs
nodejs事件的监听与触发的理解分析
Feb 12 NodeJs
Nodejs爬虫进阶教程之异步并发控制
Feb 15 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
浅谈Nodejs中的作用域问题
Dec 26 NodeJs
nodejs multer实现文件上传与下载
May 10 NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 NodeJs
原生nodejs使用websocket代码分享
Apr 07 NodeJs
nodejs中用npm初始化来创建package.json的实例讲解
Oct 10 NodeJs
5分钟教你用nodeJS手写一个mock数据服务器的方法
Sep 10 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
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
ECMall支持SSL连接邮件服务器的配置方法详解
2014/05/19 PHP
laravel安装和配置教程
2014/10/29 PHP
php继承中方法重载(覆盖)的应用场合
2015/02/09 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
详解Laravel设置多态关系模型别名的方式
2019/10/17 PHP
JS中toFixed()方法引起的问题如何解决
2012/11/20 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
jquery轻量级数字动画插件countUp.js使用详解
2019/10/17 jQuery
Python continue语句用法实例
2014/03/11 Python
python实现调用其他python脚本的方法
2014/10/05 Python
Python线程中对join方法的运用的教程
2015/04/09 Python
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
pandas读取CSV文件时查看修改各列的数据类型格式
2019/07/07 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
2019/08/19 Python
Django admin 实现search_fields精确查询实例
2020/03/30 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
总经理秘书工作职责
2013/12/26 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
个人综合鉴定材料
2014/05/23 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
2014年财政工作总结
2014/12/10 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
《三国志》赏析
2019/08/27 职场文书