技术员联盟提供win764位系统下载,win10,win7,xp,装机纯净版,64位旗舰版,绿色软件,免费软件下载基地!

当前位置:主页 > 教程 > 服务器类 >

nodejs个人博客数据模型开发教程

来源:技术员联盟┆发布时间:2017-11-07 06:32┆点击:

  数据库模型

  /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('http://www.3lian.com/',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;