db.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. const mysql = require('mysql')
  2. const fs = require("fs");
  3. const configFile = fs.readFileSync('./config.json');
  4. const globalConfig = JSON.parse(configFile)
  5. const db_config = globalConfig['ship-test'].db
  6. // 进行数据库交互
  7. const sqlHandle = (sql, values) => {
  8. let connect = mysql.createConnection(db_config)
  9. // 开始链接数据库
  10. connect.connect(function (err) {
  11. if (err) {
  12. console.log(`mysql连接失败: ${err}!`)
  13. } else {
  14. console.log('mysql连接成功!')
  15. }
  16. })
  17. // 返回一个Promise承诺对象
  18. return new Promise((resolve, reject) => {
  19. connect.query(sql, values, (err, result) => {
  20. if (err) {
  21. reject(err)
  22. } else {
  23. // 此处需要将返回数据转为JSON再转回来,否则原数据不为任何数据类型
  24. let res = JSON.parse(JSON.stringify(result))
  25. console.log('执行:', sql)
  26. console.log('参数:', values)
  27. console.log('结果:', res)
  28. closeMysql(connect)
  29. resolve(res)
  30. }
  31. });
  32. })
  33. }
  34. // 查询成功后关闭mysql
  35. const closeMysql = (connect) => {
  36. connect.end((err) => {
  37. if (err) {
  38. console.log(`mysql关闭失败:${err}!`)
  39. } else {
  40. console.log('mysql关闭成功!')
  41. }
  42. })
  43. }
  44. // 导出方法
  45. module.exports = {
  46. sqlHandle
  47. }