Node.js使用Sequelize ORM框架

最近在學習Node.js,想嘗試使用mysql數據庫進行數據操作,但是習慣了java的ORM框架後懶得寫SQL語句了,於是找到了Sequelize這個ORM框架

使用這個框架只要在項目路徑下npm install Sequelize 然後加載模塊就行了

這裏附簡單的一些增刪查改操作

var DbStore = require('./BasicModel');
var Sequelize = require("sequelize");
//定義類
function UserBean(username, password) {
    this.username = username;
    this.password = password;
}
module.exports = UserBean;
//定義數據庫模型
var User = DbStore.define('User', {
    id: {type: Sequelize.INTEGER, autoIncrement: true, primaryKeys: true, unique: true},
    username: {type: Sequelize.STRING, allowNull: false},
    password: {type: Sequelize.STRING, allowNull: false}
});
User.sync().on('success',function () {
    console.log('aa..');
}).on('failure', function () {
    console.log('bb..');
});
//增加字段
UserBean.builds = function (username, password, succCb, errCb) {
    User.build({username: username, 'password': password}).save().on('success',function (msg) {
        console.log(msg);
        if (!!succCb) {
            succCb(msg);
        }
    }).on('failure', function (err) {
            console.log(err);
            if (!!errCb) {
                errCb(msg);
            }
        });
}
//查找字段
UserBean.finds = function(username,callback){
    User.find({where:{username:'s'}}).success(function(res){
        console.log(res);
            if(!!callback){
            callback(res);
            }
        });
}
UserBean.findById =  function(id,callback){
    User.find(id).success(function(res){
        console.log(res);
        if(!!callback){
            callback(res);
        }
    });
}
UserBean.findByUsernameAndPassword=function(username,password,callback){
    User.find({where:{username:username,password:password}}).success(function(data){
        if(!!callback){
            callback(data);
        }
    });
}
UserBean.findAndCountAll = function(callback){
   User.findAndCountAll({
        where: ["username LIKE 's%'"],
        offset: 10,
        limit: 2
    })
        .success(function(result) {
            callback(result);
        });
}
//修改字段
UserBean.update = function(id,data ,callback) {
    User.find(id).success(function(res){
        if(res){
            res.updateAttributes(data).success(function(){
                callback('error');
        })
        }else{
            callback('error');
        }
    })

}
//刪除字段
UserBean.delete = function(id,callback){
    User.find(id).success(function(res){
        if(res){
            res.destroy().success(function(){
                    callback("ok");
            }).error(function(err) {
                    callback(err);

        });
        }
        else{
            callback("nofound");
        }
    });
}

發佈了24 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章