[nodejs] nodejs开发个人博客(四)数据模型
2016-03-09 22:51
645 查看
数据库模型
/model/db.js 数据库操作类,完成链接数据库和数据库的增删查改查询表
/*查询*/ 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); }
业务模型
例如分类模型,/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); }); } };
控制器
先在公共函数文件增加一个调用模型的方法/*实例化模型*/ model:function(name){ return require("../model/"+name); }
控制器调用业务模型
/** * 首页控制器 */ 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;
相关文章推荐
- AngularJS+Node的RESTful之基本实现
- 我的Node.js处女作
- 19. Remove Nth Node From End of List
- C++与Nodejs的交互
- 【nodejs】服务器处理url请求并返回json数据
- webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
- Nodejs如何复制文件
- nodejs设置NODE_ENV环境变量
- ztree addNode editName removeNode
- 【JavaScript】ReactJS&NodeJS了解资料
- Leetcode:Swap Nodes in Pairs 单链表相邻两节点逆置
- 19. Remove Nth Node From End of List
- 记 Ubuntu14.04 Monodevelop 安装的两个问题
- nodejs及bigpipe技术初探
- Nodejs模块化
- 为什么我要用 Node.js
- [LeeCode]116. Populating Next Right Pointers in Each Node
- leetcode刷题(19. Remove Nth Node From End of List)
- 利用nodeJs来安装less以及编译less文件为css文件
- 【安装】nodesj的addon模块配置使用&报错处理