mysqldb.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. /**
  2. * @Author HonorLee (dev@honorlee.me)
  3. * @Version 1.0 (2018-05-04)
  4. * @License MIT
  5. */
  6. 'use strict'
  7. module.exports={
  8. query:function(query,callback){
  9. MysqlPool.getConnection(function(err,con){
  10. con.query(query,function(err, results, fields) {
  11. con.release();
  12. if(callback && typeof(callback)=='function') callback(err,results,fields);
  13. });
  14. });
  15. }
  16. };
  17. global.M = function(table){
  18. if(!table) return null;
  19. return new Module(Config.mysql_cfg.prefix+table);
  20. };
  21. var Module = function(table){
  22. let instance = this;
  23. let tableName = table;
  24. let method,where;
  25. let rows,value;
  26. instance.get = function(row){
  27. method = 'select';
  28. if(!row) row = '*';
  29. if(typeof row ==='string') rows = row.split(',');
  30. if(typeof row ==='object' && row.length) rows = row;
  31. return instance;
  32. };
  33. instance.update = function(row,val){
  34. method = 'update';
  35. if(!val) return instance;
  36. let rowArr,valArr,pair;
  37. if(typeof row ==='string') rowArr = row.split(',');
  38. if(typeof row ==='object' && row.length) rowArr = row;
  39. if(typeof val ==='string') valArr = val.split(',');
  40. if(typeof val ==='object' && val.length) valArr = val;
  41. if(rowArr.length == valArr.length){
  42. for(let i in rowArr){
  43. if(Number(valArr[i])==valArr[i]){
  44. valArr[i] = Number(valArr[i]);
  45. }else{
  46. valArr[i] = '"'+String(valArr[i])+'"';
  47. }
  48. }
  49. rows = rowArr.join(',');
  50. value = valArr.join(',');
  51. }
  52. return instance;
  53. };
  54. instance.del = function(){
  55. };
  56. instance.where = function(row,val){
  57. if(!row || !val) return instance;
  58. let rowArr,valArr;
  59. if(typeof row ==='string') rowArr = row.split(',');
  60. if(typeof row ==='object' && row.length) rowArr = row;
  61. if(typeof val ==='string') valArr = val.split(',');
  62. if(typeof val ==='object' && val.length) valArr = val;
  63. if(rowArr.length == valArr.length){
  64. where = [];
  65. for(let i in rowArr){
  66. if(Number(valArr[i])==valArr[i]){
  67. valArr[i] = Number(valArr[i]);
  68. }else{
  69. valArr[i] = '"'+String(valArr[i])+'"';
  70. }
  71. where.push(([rowArr[i],valArr[i]]).join('='));
  72. }
  73. }
  74. return instance;
  75. };
  76. instance.run = function(callback){
  77. let query = [],queryStr;
  78. let whereStr = where?('where '+where.join(' and ')):'';
  79. switch(method){
  80. case 'select':
  81. query = ['select',rows.join(','),'from',tableName,whereStr];
  82. break;
  83. case 'update':
  84. query = ['update',tableName,'set','(',rows.join(','),')','values(',value.join(','),')',whereStr];
  85. break;
  86. }
  87. queryStr = query.join(' ');
  88. MysqlDB.query(queryStr,function(err,result,fields){
  89. if(callback && typeof callback === 'function') callback(err,result);
  90. })
  91. }
  92. };