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地址及url各种参数值
Jun 25 NodeJs
Nodejs Express4.x开发框架随手笔记
Nov 23 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
nodejs处理图片的中间件node-images详解
May 08 NodeJs
nodejs multer实现文件上传与下载
May 10 NodeJs
基于nodejs实现微信支付功能
Dec 20 NodeJs
nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例
Jan 05 NodeJs
NodeJS简单实现WebSocket功能示例
Feb 10 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodeJS服务器的创建和重新启动的实现方法
May 12 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
nodejs如何在package.json中设置多条启动命令
Mar 16 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之getField详解
2014/06/20 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
PHP二维数组去重算法
2016/12/17 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
AJAX的跨域与JSONP(为文章自动添加短址的功能)
2010/01/17 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue和webpack打包项目相对路径修改的方法
2018/06/15 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
vue工程全局设置ajax的等待动效的方法
2019/02/22 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
JavaScript 链表定义与使用方法示例
2020/04/28 Javascript
JS实现前端路由功能示例【原生路由】
2020/05/29 Javascript
Django自定义manage命令实例代码
2018/02/11 Python
python 字典中取值的两种方法小结
2018/08/02 Python
使用python将请求的requests headers参数格式化方法
2019/01/02 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python elasticsearch环境搭建详解
2019/09/02 Python
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
2015/08/25 面试题
学生请假条
2014/04/11 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技