出处: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;
}
});
});
};

最新文章

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

热门文章

  1. Linux学习7-文件操作
  2. [译]使用chage来管理Linux密码过期时间的七个例子
  3. 自己动手开发Socks5代理服务器
  4. spfa求图的最大流
  5. 通过JavaScript自由切换iframe
  6. spring事务详解(二)实例
  7. mycat学习笔记
  8. Servlet3.0新特性WebFilter(Annotation Filter)详解
  9. 带你走进Android Afinal框架的世界
  10. SqlServer中查看索引的使用情况