Nodejs的ORM框架sequelize入门之增删改查

本例是基于操作mysql2数据库

安装sequelize与mysql2模块

npm install mysql2 --save

npm install sequelize --save

安装完以后就开始引入sequelie操作mysql了,下面我们先创建models文件夹,然后创建连接数据库的连接池的model文件,暂且命名为 ‘Modelheader.js’

var Sequelize = require('sequelize');
var config =  {
    database:'test',
    username:'root',
    password:'',
    host:'localhost',
    port:'3306'
 }
 var sequelize = new Sequelize(config.database,config.username,config.password,{
   host:config.host,
   dialect:'mysql'
 })

 module.exports = sequelize;

接下来我们创建一个model实例文件,命名为‘userModel.js’(文件名随意,你可以任意命名)也放在models文件夹下,

var Sequelize = require('sequelize');
var sequelize = require('./Modelheader');
var UserModel = sequelize.define('userinfo', {
    id : {type : Sequelize.INTEGER, primaryKey : true},
    user : {type : Sequelize.STRING, allowNull : false},
    password : {type : Sequelize.STRING, allowNull : false},
  },{
    timestamps:false,
    freezeTableName:true
  });
module.exports = UserModel;

注意:以上代码是不会创建数据表,只是对已经创建好的表做了一个映射。

接下来我们在routes文件下创建controller文件,文件名为index.js(文件名随你意不必纠结)

var express = require('express');
var UserModel = require('../model/UserModel');//引入创建好的对应的model文件
var router = express.Router();

/* 文件路由. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});
//新增
router.post('/res',function(req,res){
  var info = {
    user : req.body.user,
    password : req.body.password
    
  }
  console.log(info)
  UserModel.create(info).then(ok => res.json({status: 'ok', message:'成功'}))
  .catch(e => res.json({status: 'error', message:"失败"}));
})
//查询
router.post('/serach',function(req,res){
  var id = req.body.id;
  UserModel.findOne({
    where:{
      id:id
    }
  }).then(data => {
    res.json(data.dataValues)
  })
})
//删除
router.post('/del',function(req,res){
  var id = req.body.id;
  UserModel.destroy({where: {id:id}})//where是指定查询条件
  .then(ok =>res.json({status: 'ok', message:'成功'}))//删除成功的回调
  
})
//修改
router.post('/updata',function(req,res){
  var id =req.body.id;
  var user =req.body.user;
  console.log(id+","+user)
  UserModel.update({
    user:user
},{
    where:{
        id:id
    }
}).then(ok =>res.json({status: 'ok', message:'成功'}))
})
module.exports = router;

以上就是Sequelize框架的简单使用,这个只是单表的增删改操作 ,sequelize同时是支持一对多,多对多操作的,接下来就要靠自己学习啦

不足之处,望指正。

本篇文章对你有所帮助的话,可以请作者喝咖啡:

发表评论

电子邮件地址不会被公开。 必填项已用*标注