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 win7下安装方法
May 24 NodeJs
使用forever管理nodejs应用教程
Jun 03 NodeJs
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
Jul 15 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
NodeJs下的测试框架Mocha的简单介绍
Feb 22 NodeJs
简单好用的nodejs 爬虫框架分享
Mar 26 NodeJs
nodejs和C语言插入mysql数据库乱码问题的解决方法
Apr 14 NodeJs
Express+Nodejs 下的登录拦截实现代码
Jul 01 NodeJs
nodejs超出最大的调用栈错误问题
Dec 27 NodeJs
Mac下通过brew安装指定版本的nodejs教程
May 17 NodeJs
Nodejs模块的调用操作实例分析
Dec 25 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 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学习之正则表达式
2011/04/17 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
php开发最强大的IDE编辑的phpstorm 2020.2配置Xdebug调试的详细教程
2020/08/17 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
豆瓣网的jquery代码实例
2008/06/15 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
jquery获得同源iframe内body下标签的值的方法
2014/09/25 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
layui文件上传实现代码
2017/05/20 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
js实现动态时钟
2020/03/12 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
Python list操作用法总结
2015/11/10 Python
对Python3中列表乘以某一个数的示例详解
2019/07/20 Python
Python进程间通信 multiProcessing Queue队列实现详解
2019/09/23 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
Hotels.com中国区:好订网
2016/08/18 全球购物
秋季运动会广播稿
2014/02/22 职场文书
难忘的一天教学反思
2014/04/30 职场文书
生活部的活动方案
2014/08/19 职场文书
创先争优承诺书
2015/01/20 职场文书
2015年世界水日活动总结
2015/02/09 职场文书
施工员岗位职责范本
2015/04/11 职场文书
数学备课组工作总结
2015/08/12 职场文书
A22国内电台短波广播频率表
2022/05/10 无线电