[nodejs] 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;
时间: 2024-10-12 00:42:10

[nodejs] nodejs开发个人博客(四)数据模型的相关文章

用flask开发个人博客(4)—— flask中4种全局变量

https://blog.csdn.net/hyman_c/article/details/53512109 一  current_app current_app代表当前的flask程序实例,使用时需要flask的程序上下文激活,我们以本专栏第一篇文章中写的test.py为例介绍下它的用法: 1.1 激活程序上下文 [python] view plain copy >>> from test import app >>> from flask import curren

跟大佬学django-编写博客的数据模型类

编写博客的数据模型类 设计数据库和表结构是做网站的基础.在django中,我们不需要通过SQL语句直接跟数据库打交道,而是完全用python的方式创建数据库模型,之后交给django完成数据库的操作. 数据库模型类 利用django开发网站系统,一般情况下,要先编写数据模型,就是在./blog/models.py中写一个类,这个类与数据库中的数据表具有对应关系. 下面就在./blog/models.py中编写博客的数据模型类Blog,本质上它是一个继承了django.db.models.Mode

个人开发的博客系统上线了!!!http://blog.verysu.com

个人开发的博客系统--Su的技术博客 http://blog.verysu.com 欢迎访问!!! 使用到了Spring+SpringMVC+Hibernate

iOS开发优秀博客和软件推荐

iOSBlogAndTools iOS开发优秀博客和软件推荐 本博客和工具列表由广大iOS开发者收集和推荐,如果大家有好的博客或者工具想要分享请点击:我要提交. 收到大家的提交后会及时收录与更新.GitHub地址:https://github.com/imlifengfeng/iOSBlogAndTools iOS开发中文博客 博客名称/地址 RSS地址 博主微博 OneV's Den http://onevcat.com/atom.xml onevcat 唐巧的技术博客 http://blog

WordPress---PHP语言开发的博客平台

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用.WordPress是一个免费的开源项目,在GNU通用公共许可证下授权发布.目前最新版本为2014 年4月25日WordPress 3.9 版.WordPress被认为是Michel Valdrighi所开发的网志平台b2/cafelog的正式继承者."WordPress"这个名字出自Christine

iOS开发学习博客

不断学习的博客 王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒.http://onevcat.com池建强的博客: 池建强,70后程序员,Blogger.98年毕业,先后就职于洪恩软件.RocketSofeware和用友软件工程公司(后更名为瑞友科技),现任瑞友科技IT应用研究院副院长.该博客最初每天发送一条Mac技巧,不过目前已经形成了一种技术和人文结合的风格,时而随笔,

[nodejs] nodejs开发个人博客(一)准备工作

前言 nodejs是运行在服务端的js,基于google的v8引擎.个人博客系统包含对数据库的增删查改,功能齐备,并且业务逻辑比较简单,是很多后台程序员为了检测学习成果,最先拿来练手的小网站程序.我也是在去年年末接触的nodejs,接下来随便纪录一下这个小blog的功能点和注意事项. 语言和环境 1. 进入nodejs的官方网站,下载nodejs运行环境 下载安装完成以后是这个样子的 2. express是基于nodejs平台的web开发框架,进入express框架的官方网站,了解express

初试Nodejs——使用keystonejs创建博客网站1(安装keystonejs)

我正在阿里云上创建一个简单的个人博客网站,刚好正在尝试NodeJs,决定找一款基于NodeJs的CMS来完成这个工作,最后找到了KeyStoneJS. KeyStoneJS是基于Express和MongoDB的CMS架构,详细介绍参见官网http://keystonejs.com/zh/.本文记录一下keystonejs的安装过程,后续将记录基于keystonejs的二次开发过程. keystonejs的安装过程并不复杂,但由于涉及到node.js,MongoDB,yo等安装,如果某一步陷到坑里

简易nodejs爬虫抓取博客园指定用户的文章及浏览量

需要安装nodejs和cheerio模块 实现了自定义用户,自定义页数,抓取完毕自动停止无重复 可以按需修改文章类和评论的类名 用法: 首先 npm install cheerio 执行 node cnblog [username] 文件结果保存在res/cnblog.txt //cnblog.jsvar http = require('http') var fs = require('fs') var path = require('path') var cheerio = require('

iOS_CNBlog项目开发 (基于博客园api开发)

按照惯例, 先上效果图 前言 很巧, 做这个项目是因为刚好在逛博客园的时候看到一篇文章 博客园第三方客户端-i博客园正式发布App Store, 这里就帮忙贴下链接啦, 毕竟我是由此而想说做这个项目的. 然而更巧的是, 和那篇文章的作者一样, 我也是刚毕业要找实习的人了(/(ㄒoㄒ)/~~), 开发容易找工不易, 哎, 做个项目练练手吧. 然后, 整个项目做下来大概做了半个月吧, 今天算是做出1.0版本啦, 已经贴上github(https://github.com/samAroundGitHu