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


Posted in NodeJs onApril 12, 2017

本文为大家分享了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;

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

NodeJs 相关文章推荐
轻松创建nodejs服务器(4):路由
Dec 18 NodeJs
轻松创建nodejs服务器(10):处理上传图片
Dec 18 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
Nodejs学习笔记之入门篇
Apr 16 NodeJs
nodeJs内存泄漏问题详解
Sep 05 NodeJs
nodejs微信公众号支付开发
Sep 19 NodeJs
Nodejs+Socket.io实现通讯实例代码
Feb 13 NodeJs
详解nodejs微信jssdk后端接口
May 25 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
nodejs图片处理工具gm用法小结
Dec 12 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 #NodeJs
nodejs个人博客开发第二步 入口文件
Apr 12 #NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 #NodeJs
nodejs获取微信小程序带参数二维码实现代码
Apr 12 #NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 #NodeJs
详解nodejs微信公众号开发——4.自动回复各种消息
Apr 11 #NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 #NodeJs
You might like
PHP截取汉字乱码问题解决方法mb_substr函数的应用
2008/03/30 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
javascript对象的property和prototype是这样一种关系
2007/03/24 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
Js-$.extend扩展方法使方法参数更灵活
2013/01/15 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
$.get获取一个文件的内容示例代码
2013/09/11 Javascript
js判断设备是否为PC并调整图片大小
2014/02/12 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
vue+django实现一对一聊天功能的实例代码
2019/07/17 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
Electron 调用命令行(cmd)
2019/09/23 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
2020/07/31 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
[01:07:21]NAVI vs VG Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
python使用turtle库与random库绘制雪花
2018/06/22 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
2014学雷锋活动心得体会
2014/03/10 职场文书
项目建议书模板
2014/05/12 职场文书
硕士研究生就业推荐信
2014/05/18 职场文书
校园主题婚礼活动策划方案
2014/09/15 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
详解Java实践之建造者模式
2021/06/18 Java/Android