[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;

 

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/12721.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论