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学习小结(一)
Jul 06 NodeJs
nodejs教程之异步I/O
Nov 21 NodeJs
轻松创建nodejs服务器(5):事件处理程序
Dec 18 NodeJs
Nodejs学习笔记之Global Objects全局对象
Jan 13 NodeJs
Nodejs express框架一个工程中同时使用ejs模版和jade模版
Dec 28 NodeJs
NodeJS的Promise的用法解析
May 05 NodeJs
nodejs爬虫遇到的乱码问题汇总
Apr 07 NodeJs
nodejs简单实现TCP服务器端和客户端的聊天功能示例
Jan 04 NodeJs
nodejs log4js 使用详解
May 31 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
独立部署小程序基于nodejs的服务器过程详解
Jun 24 NodeJs
ubuntu系统下使用pm2设置nodejs开机自启动的方法
May 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
php实现利用phpexcel导出数据
2013/08/24 PHP
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
js格式化时间小结
2014/11/03 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
Ajax基础知识详解
2017/02/17 Javascript
ES6中module模块化开发实例浅析
2017/04/06 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
vue基于Element构建自定义树的示例代码
2017/09/19 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
VsCode与Node.js知识点详解
2019/09/05 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
神路信息Java面试题目
2013/03/31 面试题
工地门卫岗位职责
2013/12/30 职场文书
工作失误检讨书范文大全
2014/01/13 职场文书
运动会广播稿30字
2014/01/21 职场文书
防沙治沙典型材料
2014/05/07 职场文书
开展读书活动总结
2014/06/30 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
起诉意见书范文
2015/05/19 职场文书
党支部评议意见
2015/06/02 职场文书
电工生产实习心得体会
2016/01/22 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电