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 Express框架中处理404页面一个方式
May 28 NodeJs
使用DNode实现php和nodejs之间通信的简单实例
Jul 06 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
nodejs连接mongodb数据库实现增删改查
Dec 01 NodeJs
进阶之初探nodeJS
Jan 24 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
详解nodejs操作mongodb数据库封装DB类
Apr 10 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodejs中使用worker_threads来创建新的线程的方法
Jan 22 NodeJs
nodejs处理tcp连接的核心流程
Feb 26 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
2021年最新CPU天梯图
2021/03/04 数码科技
CI框架入门示例之数据库取数据完整实现方法
2014/11/05 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
JS实现遮罩层效果的简单实例
2013/11/12 Javascript
jquery处理json对象
2014/11/03 Javascript
js实现刷新iframe的方法汇总
2015/04/27 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
AngularJS入门教程之Select(选择框)详解
2016/07/27 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
python中如何打包用户自定义模块
2020/09/23 Python
python破解同事的压缩包密码
2020/10/14 Python
Shoes For Crews法国官网:美国领先的防滑鞋设计和制造商
2018/01/01 全球购物
eharmony澳大利亚:网上约会服务
2020/02/29 全球购物
STRATHBERRY苏贝瑞包包官网:西班牙高级工匠手工打造
2020/11/10 全球购物
市场营销专业自荐书
2014/06/10 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
实习工作表现评语
2014/12/31 职场文书
世界文化遗产导游词
2015/02/13 职场文书
小学生光盘行动倡议书
2015/04/28 职场文书
详解Go语言运用广度优先搜索走迷宫
2021/06/23 Python