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学习笔记之网络编程
Aug 03 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
进阶之初探nodeJS
Jan 24 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
nodejs个人博客开发第四步 数据模型
Apr 12 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
Nodejs Express 通过log4js写日志到Logstash(ELK)
Aug 30 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 NodeJs
nodejs制作小爬虫功能示例
Feb 24 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开发中四种查询返回结果分析
2011/01/02 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
php去除HTML标签实例
2013/11/06 PHP
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
用javascript实现自定义标签
2007/05/08 Javascript
JQuery select标签操作代码段
2010/05/16 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
JavaScript 学习笔记之变量及其作用域
2015/01/14 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
jQuery弹簧插件编写基础之“又见弹窗”
2015/12/11 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
JavaScript实现与使用发布/订阅模式详解
2019/01/19 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
详谈vue中router-link和传统a链接的区别
2020/07/22 Javascript
python模拟登录百度贴吧(百度贴吧登录)实例
2013/12/18 Python
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
Python中collections模块的基本使用教程
2018/12/07 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
pytorch 批次遍历数据集打印数据的例子
2019/12/30 Python
python入门之基础语法学习笔记
2020/02/08 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
纽约和芝加哥当天送花:Ode à la Rose
2019/07/05 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
大学毕业生文采飞扬的自我鉴定
2013/12/03 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
新学期开学演讲稿
2014/05/24 职场文书
2014年教师节活动总结
2014/08/29 职场文书
项目经理助理岗位职责
2015/04/13 职场文书
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js
Windows Server 修改远程桌面端口的实现
2022/06/25 Servers