最近在學習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");
}
});
}