[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;
复制代码

 

posted @   唯一客服系统开发笔记  阅读(2029)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示
1
chat with us