這麽巧我剛剛寫了壹段這個代碼,而且寫得我自己挺滿意,share壹下其中的邏輯:1、update的封裝functionupdateRecord(model,obj,criteria,callback){varsql='update?set?where';varoptions=[model.name,obj],link='';for(varkeyincriteria){options.push(key);options.push(criteria[key]);sql+=link+'?=?';link='and';}sql+=';';pool.query(sql,options,callback);}2、綁定到模型上functionsetModel(name){varmodel=require('./'+name);if('mysql'===model.type){model.insert=function(obj,callback){insertRecord(model,obj,callback);};model.remove=function(criteria,callback){removeRecord(model,criteria,callback);};model.update=function(obj,criteria,callback){updateRecord(model,obj,criteria,callback);};model.select=function(criteria,range,callback){selectRecord(model,criteria,range,callback);};}list[model.name]=model;}3、使用的壹個例子:model.get('item_family').update(newData,{id:oldData.id},function(err,rows){if(err){asynEcho(pin,err);}elseif(!rows||rows.length<1){asynEcho(pin,'internalerror:nodataupdated');}else{showList();}});總的來說,適合妳自己用的就是好的model。保留擴展的能力,但是不要壹開始就試著寫的大而全。
上一篇:有什麽關於 iOS 開發 CAD 查看小程序的思路分享?下一篇:微信學生每日健康打卡表格怎麽弄