最近在学习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");
}
});
}