出处: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模块)的更多相关文章

  1. [转]Node.JS使用Sequelize操作MySQL

    Sequelize官方文档  https://sequelize.readthedocs.io/en/latest/ 本文转自:https://www.jianshu.com/p/797e10fe23 ...

  2. node.js使用Sequelize 操作mysql

    Sequelize就是Node上的ORM框架 ,相当于java端的Hibernate 是一个基于 promise 的 Node.js ORM, 目前支持 Postgres, MySQL, SQLite ...

  3. MySQL+Node.js连接和操作

    在本节中,您将学习如何使用mysql模块从node.js应用程序与MySQL进行交互. 我们将向您展示如何使用Node.js连接到MySQL,执行常用操作,如使用mysql模块API执行插入,选择,更 ...

  4. 数据库连接池(基于MySQL数据库)

    使用JDBC是怎么保证数据库客户端和数据库服务端进行连接的? 通过代码: conn=DriverManager.getConnection(url, username, password); JDBC ...

  5. [Node.js]expressjs简单测试连接mysql

    下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...

  6. rtags——node.js+redis实现的标签管理模块

    引言在我们游览网页时,随处可见标签的身影: 进入个人微博主页,可以看到自己/他人的标签,微博系统会推送与你有相同标签的人 游览博文,大多数博文有标签标记,以说明文章主旨,方便搜索和查阅 网上购物,我们 ...

  7. node.js从入门到放弃《模块》

    在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...

  8. node.js - 路由、中间件、mysql

    这几天天天搞到这么晚,我看今天的内容看起不多啊,不知道为什么学着学着就到了这么晚.今天的内容还是有点多哈,有点自我矛盾了,再次一一道来. 1. 首先今天先看到路由的概念,什么叫做路由? 路由就是映射关 ...

  9. 2.MongoDB 基于node.js访问和操作集合

    对于频繁使用的Node.js来说,常见的任务是集合的动态操控. 较大的安装给每个大客户一个单独的集合,以便客户登入或离开时.根据需要添加或删除集合. MongoDB Node.js 驱动程序 Db和C ...

随机推荐

  1. [转载]10款流行的Markdown编辑器

    10款流行的Markdown编辑器 http://www.csdn.net/article/2014-05-05/2819623 作为一个开源人,如果你不会使用Markdown语法,那你就OUT了!M ...

  2. [整理]WebAPI中应用oData

    http://www.odata.org/ http://bitoftech.net/category/odata/ http://www.hanselman.com/blog/CreatingAnO ...

  3. 新.Net架构必备工具列表

    N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了.而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要 ...

  4. 第5月第13天 node cnpm安装 babel

    1. https://nodejs.org/en/download/ http://www.runoob.com/react/react-install.html 2. npm install --s ...

  5. C# XML 文档注释

    原文链接:http://www.shinater.com/DocsBuilder/help.html <summary>description</summary> 描述类型或类 ...

  6. jmeter --使用put方法上传文件

    今天来记录下put上传文件遇到的坑吧!折腾死我了, 刚开始的时候用的jmeter3.0,各种尝试,发现始终告诉我文件内容为空<actual file content,not shown here ...

  7. thymeleaf:访问静态方法

    <p class="left tel" th:if="${#strings.startsWith(T(net.common.util.tool.common.Req ...

  8. 创建.symlnk文件

    本文转自:https://zhidao.baidu.com/question/1695955535823679548.html 1 2 3 4 5 6 7 8 9 10 11 创建符号链接.   MK ...

  9. SSD安装记录

    这两天配置SSD,折腾了一两天,终于搞定了,记录下自己遇到的大坑. 1.安装SSD 安装参考:http://blog.csdn.net/shawncheer/article/details/53227 ...

  10. ssh登录,Host key verification failed的几种处理方法

    - 修订历史History:  2011.05.22   初稿 - 系统: Ubuntu 10.04LTS  - 软件: SSH 使用SSH登录某台机器,有时因为server端的一些变动,会出现以下信 ...