JavaScript

超轻量级php框架startmvc

nodejs个人博客开发第四步 数据模型

更新时间:2020-05-06 03:12 作者:startmvc
本文为大家分享了nodejs个人博客开发的数据模型,具体内容如下数据库模型/model/db.js数据库

本文为大家分享了nodejs个人博客开发的数据模型,具体内容如下

数据库模型

/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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。