Node.js数据库连接池操作通用工具(MySQL模块)
2024-10-19 08:59:32
出处: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;
}
});
});
};
最新文章
- Java多线程系列--“JUC锁”02之 互斥锁ReentrantLock
- VS2013无法链接到TFS(Visual studio online),错误TF31001,TF31002
- 一次关于使用status作为变量引发的bug及思考
- Linux下使用vim的tips
- window 2003 配置FTP +防火墙设置
- [BZOJ1370][Baltic2003]Gang团伙
- Find Current Job Openings For Oracle Forms &; Reports
- Java中的public、protected、default和private的区别
- Android编程心得-ListView的Item高亮显示的办法
- javascript获取url中对应参数的方法
- PHP 冒泡排序法
- 纯js实现分页
- 【HTML相关】iframe+javascript实现一个表单提交后多个处理文件按序处理
- 设计模式——辛格尔顿(Singleton)
- 【第七篇】Volley之处理Gzip数据
- Linux下安装PostgreSQL 转载linux社区
- dom操作相关,byebye T T
- Sprite子节点透明度不能跟随父节点变化的问题求解(转)
- 关于postman各功能的说明及用法以及批量执行
- spring boot常见问题