nodejs個人博客開發(fā)第四步 數(shù)據(jù)模型
本文為大家分享了nodejs個人博客開發(fā)的數(shù)據(jù)模型,具體內(nèi)容如下
數(shù)據(jù)庫模型
/model/db.js 數(shù)據(jù)庫操作類,完成鏈接數(shù)據(jù)庫和數(shù)據(jù)庫的增刪查改
查詢表
/*查詢*/ select:function(tableName,callback,where,field){ field=field ? field : '*'; var sql="select "+field+" from "+this.C.DB_PRE+tableName; if(where){ sql+=" where "+where; } this.db.query(sql,callback); }
添加記錄
/*添加*/ add:function(tableName,tableData,callback){ var sql="insert into "+this.C.DB_PRE+tableName; var clumn=''; var value=''; for(var key in tableData){ clumn+=","+key; value+=",'"+tableData[key]+"'"; } clumns="("+clumn.substr(1)+")"; values="("+value.substr(1)+")"; sql=sql+clumns+"values"+values; console.log(sql); this.db.query(sql,callback); }
修改記錄
/*修改*/ update:function(tableName,tableData,where,callback){ var sql="update "+this.C.DB_PRE+tableName+" set "; var clumns=""; for(var key in tableData){ clumns+=","+key+"='"+tableData[key]+"'"; } clumns=clumns.substr(1); sql+=clumns+" where "+where; console.log(sql); this.db.query(sql,callback); }
刪除記錄
/*刪除*/ delete:function(tableName,where,callback){ var sql="delete from "+this.C.DB_PRE+tableName+" where "+where; console.log(sql); this.db.query(sql,callback); }
業(yè)務(wù)模型
例如分類模型,/model/category.js
/** *分類模型 * */ module.exports={ getAllList:function(){ db.select("category",function(err,list){ console.log(list); }); }, /*添加*/ addCate:function(data){ db.add("category",data,function(err,list){ console.log(err); }); }, /*修改*/ saveCate:function(data,where){ db.update("category",data,where,function(err,list){ console.log(err); }); }, /*刪除*/ delCate:function(where){ db.delete("category",where,function(err,list){ //console.log(err); }); } };
控制器
先在公共函數(shù)文件增加一個調(diào)用模型的方法
/*實例化模型*/ model:function(name){ return require("../model/"+name); }
控制器調(diào)用業(yè)務(wù)模型
/** * 首頁控制器 */ var router=express.Router(); router.get('/',function(req,res,next){ F.model("category").getAllList(); //F.model("category").addCate({"name":"測試"}); //F.model("category").saveCate({"name":"測試1"},"id=4"); //F.model("category").delCate("id=4"); /*渲染模板*/ res.render("home/index"); }); module.exports=router;
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Node.js操作Firebird數(shù)據(jù)庫教程
這篇文章主要為大家分享了Node.js操作Firebird數(shù)據(jù)庫教程,思路清晰便于大家理解,感興趣的小伙伴們可以參考一下2016-03-03云服務(wù)器部署Node.js項目的方法步驟(小白系列)
這篇文章主要介紹了云服務(wù)器部署Node.js項目的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03node.js連接MongoDB數(shù)據(jù)庫的2種方法教程
這幾天一直在學(xué)習(xí)mongdb的基礎(chǔ)知識,跟著網(wǎng)上大神的腳步(代碼)去模擬連接mongodb數(shù)據(jù)庫,下面這篇文章就給大家總結(jié)介紹了node.js連接MongoDB數(shù)據(jù)庫的2種方法教程,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05Nest.js系列學(xué)習(xí)之初識nest項目框架及服務(wù)
這篇文章主要為大家介紹了Nest.js系列學(xué)習(xí)之初識nest項目框架及服務(wù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02Node.js利用debug模塊打印出調(diào)試日志的方法
debug日志打印模塊主要實現(xiàn)功能是帶命名空間(模塊名)、時間戳、色彩輸出日志;將日志寫入文件;瀏覽器端使用;格式化函數(shù);支持自定義方法。下面這篇文章主要介紹了Node.js利用debug模塊打印出調(diào)試日志的方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-04-04如何利用Node.js與JSON搭建簡單的動態(tài)服務(wù)器
這篇文章主要給大家介紹了關(guān)于如何利用Node.js與JSON搭建簡單的動態(tài)服務(wù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06