mysqldb.js 3.0 KB

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