mysqldb.js 3.0 KB

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