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文件操作模块FS(File System)常用函数简明总结
Jun 05 NodeJs
Nodejs+express+html5 实现拖拽上传
Aug 08 NodeJs
基于NodeJS的前后端分离的思考与实践(六)Nginx + Node.js + Java 的软件栈部署实践
Sep 26 NodeJs
使用nodejs开发cli项目实例
Jun 03 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
nodejs socket实现的服务端和客户端功能示例
Jun 02 NodeJs
Mac 安装 nodejs方法(图文详细步骤)
Oct 30 NodeJs
Nodejs调用Dll模块的方法
Sep 17 NodeJs
PHPStorm中如何对nodejs项目进行单元测试详解
Feb 28 NodeJs
nodejs微信开发之授权登录+获取用户信息
Mar 17 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 NodeJs
详解NodeJS模块化
Jun 15 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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
PHP设计模式之迭代器模式
2016/06/17 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
Jquery时间轴特效(三种不同类型)
2015/11/02 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
Bootstrap表单控件使用方法详解
2017/01/11 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
[02:35]DOTA2超级联赛专访XB 难忘一年九冠称王
2013/06/20 DOTA
python处理json数据中的中文
2014/03/06 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
python实现Flappy Bird源码
2018/12/24 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
c/c++某大公司的两道笔试题
2014/02/02 面试题
优秀毕业生推荐信
2013/11/02 职场文书
水污染治理专业毕业生推荐信
2013/11/14 职场文书
思想专业自荐信范文
2013/12/25 职场文书
大学新生欢迎词
2014/01/10 职场文书
文体活动实施方案
2014/03/27 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
母亲节感言
2015/08/03 职场文书