Node.js数据库连接池操作通用工具(MySQL模块)
出处:OSN开源站点数据库通用工具类,OSN源代码地址,https://github.com/obullxl/osnode-site,百度云演示站点,http://obullxl.duapp.com
使用平台:Node.js
依赖的项目:OSN开源站点
/**
* 数据库模块
*/
var config = require("../config"); var options = {
'host': config.dbhost,
'port': config.port,
'user': config.user,
'password': config.password,
'database': config.db,
'charset': config.charset,
'connectionLimit': config.maxConnLimit,
'supportBigNumbers': true,
'bigNumberStrings': true
}; var mysql = require('mysql');
var pool = mysql.createPool(options); /**
* 释放数据库连接
*/
exports.release = function(connection) {
connection.end(function(error) {
console.log('Connection closed');
});
}; /**
* 执行查询
*/
exports.execQuery = function(options) {
pool.getConnection(function(error, connection) {
if(error) {
console.log('DB-获取数据库连接异常!');
throw error;
} /*
* connection.query('USE ' + config.db, function(error, results) { if(error) { console.log('DB-选择数据库异常!'); connection.end(); throw error; } });
*/ // 查询参数
var sql = options['sql'];
var args = options['args'];
var handler = options['handler']; // 执行查询
if(!args) {
var query = connection.query(sql, function(error, results) {
if(error) {
console.log('DB-执行查询语句异常!');
throw error;
} // 处理结果
handler(results);
}); console.log(query.sql);
} else {
var query = connection.query(sql, args, function(error, results) {
if(error) {
console.log('DB-执行查询语句异常!');
throw error;
} // 处理结果
handler(results);
}); console.log(query.sql);
} // 返回连接池
connection.release(function(error) {
if(error) {
console.log('DB-关闭数据库连接异常!');
throw error;
}
});
});
};
Node.js数据库连接池操作通用工具(MySQL模块)的更多相关文章
- [转]Node.JS使用Sequelize操作MySQL
Sequelize官方文档 https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...
- node.js使用Sequelize 操作mysql
Sequelize就是Node上的ORM框架 ,相当于java端的Hibernate 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite ...
- MySQL+Node.js连接和操作
在本节中,您将学习如何使用mysql模块从node.js应用程序与MySQL进行交互. 我们将向您展示如何使用Node.js连接到MySQL,执行常用操作,如使用mysql模块API执行插入,选择,更 ...
- 数据库连接池(基于MySQL数据库)
使用JDBC是怎么保证数据库客户端和数据库服务端进行连接的? 通过代码: conn=DriverManager.getConnection(url, username, password); JDBC ...
- [Node.js]expressjs简单测试连接mysql
下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...
- rtags——node.js+redis实现的标签管理模块
引言在我们游览网页时,随处可见标签的身影: 进入个人微博主页,可以看到自己/他人的标签,微博系统会推送与你有相同标签的人 游览博文,大多数博文有标签标记,以说明文章主旨,方便搜索和查阅 网上购物,我们 ...
- node.js从入门到放弃《模块》
在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...
- node.js - 路由、中间件、mysql
这几天天天搞到这么晚,我看今天的内容看起不多啊,不知道为什么学着学着就到了这么晚.今天的内容还是有点多哈,有点自我矛盾了,再次一一道来. 1. 首先今天先看到路由的概念,什么叫做路由? 路由就是映射关 ...
- 2.MongoDB 基于node.js访问和操作集合
对于频繁使用的Node.js来说,常见的任务是集合的动态操控. 较大的安装给每个大客户一个单独的集合,以便客户登入或离开时.根据需要添加或删除集合. MongoDB Node.js 驱动程序 Db和C ...
随机推荐
- 02 uni-app框架学习:设置全局样式统一每个页面的背景颜色
1.设置全局样式可以在App.vue里面 2.在每个页面的根view 里添加一个class名叫page
- JDK1.8源码Collections
正文: 一.概述: 此类完全由在 collection 上进行操作或返回 collection 的静态方法组成.它包含在 collection 上操作的多态算法,即“包装器”,包装器返回由指定 col ...
- Linux中断(interrupt)子系统之五:软件中断(softIRQ)
转自:http://blog.csdn.net/droidphone/article/details/7518428 软件中断(softIRQ)是内核提供的一种延迟执行机制,它完全由软件触发,虽然说是 ...
- mysql-5.7.13-winx64 免安装版配置方法
1.下载MySQL Community Server 5.7.13 解压MySQL压缩包 2.修改 my-default.ini skip-grant-tables 作用是安装好MySQL后 免密码登 ...
- bootstrap 引用注意事项
2014年6月8日 13:35:31 bootstrap 提供了cdn服务,在引用css,js的时候注意先后顺序,firebug就不会报错 <script src="http://cd ...
- IDEA配置文件的配置文件配置
IDEA配置文件的配置文件配置: 路径 /Applications/IntelliJ IDEA 3.app/Contents/bin/idea.vmoptions (/IntelliJ IDEA 3. ...
- @PostConstruct和@PreConstruct
详情参见:https://www.cnblogs.com/landiljy/p/5764515.html 1.@PostConstruct说明 被@PostConstruct修饰的方法会在服务器加载S ...
- day16作业
一.填空题 1.Integer Character 2.String s = "123";Integer i = new Integer(s);System.out.println ...
- LeetCode(19):删除链表的倒数第N个节点
Medium! 题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了 ...
- Java 在方法和作用域内的内部类
通常,如果所读写 的代码包含了内部类,那么它们都是"平凡的"内部类,简单并且容易理解,然而,内部类的语法覆盖了大量其它的更加难以理解的计数,例如可以在一个方法里或者在任意的作用域里 ...