mysql.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. * @Description: 操作mysql相关的工具函数
  3. * @Autor: kindring
  4. * @Date: 2021-12-14 15:34:59
  5. * @LastEditors: kindring
  6. * @LastEditTime: 2022-01-25 18:29:18
  7. * @LastDescript:
  8. */
  9. const pool = require('./pool');
  10. const log = require('../logger').logger('database')
  11. /**
  12. * callback方式查询数据库
  13. * @param {*} sql
  14. * @param {*} values
  15. * @param {*} cb
  16. */
  17. function query(sql, values, cb) {
  18. pool.getConnection((err, conn) => {
  19. if (err) { log.error(err.message); return cb(err) }
  20. log.debug(`querySQL:${sql} QueryValues:[${values.join(',')}]`)
  21. conn.query(sql, values, cb);
  22. conn.release();
  23. })
  24. } //简写部分代码
  25. /**
  26. * 以promise方式查询数据库
  27. * @param {*} sql
  28. * @param {*} values
  29. * @returns
  30. */
  31. function pq(sql, values = []) {
  32. return new Promise((resolve, reject) => {
  33. query(sql, values, function(err, result) {
  34. if (err) {
  35. // 自动通过日志记录数据库查询错误的部分
  36. log.info(`sql: ${sql} \nvalues: ${values.join(',')}`)
  37. log.error(`Error ${err.message}`);
  38. reject(err);
  39. return
  40. }
  41. resolve(result);
  42. });
  43. })
  44. }
  45. module.exports = {
  46. query,
  47. pq
  48. }