DbUtil.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. "use strict";
  2. var log = require('../util/log');
  3. /**
  4. * 数据库查询工具,使用数据库连接池获取连接,执行查询,之后将连接返回连接池。
  5. */
  6. exports.execQuery = function (pool, options) {
  7. pool.getConnection(function (err, connection) {
  8. // 查询参数
  9. var sql = options['sql'];
  10. var args = options['args'];
  11. var handler = options['handler'];
  12. if (err) {
  13. log.error('db-getConnection err:' + err);
  14. handler(err, 'db-getConnection');
  15. return;
  16. }
  17. // 执行查询
  18. if (!args) {
  19. var query = connection.query(sql, function (err, results) {
  20. if (err) {
  21. log.error('db-query err:' + err);
  22. handler(err, results);
  23. return;
  24. }
  25. // 处理结果
  26. handler(err, results);
  27. });
  28. } else {
  29. var query = connection.query(sql, args, function (err, results) {
  30. if (err) {
  31. log.error('db-query err:' + err);
  32. handler(err, results);
  33. return;
  34. }
  35. // 处理结果
  36. handler(err, results);
  37. });
  38. }
  39. // 返回连接池
  40. connection.release(function (err) {
  41. if (error) {
  42. log.error('db-release err:' + err);
  43. }
  44. });
  45. });
  46. };