星空网 > 软件开发 > Java

在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),。它当前支持MySQL,、MariaDB、SQLite、PostgreSQL、Sql Server 数据库。

目前在Node.js中,Sequelize的关注度较高,用的也较多。

因为是基于promise规范,在调用后的处理上不再是callback方式,而是统一的链式调用方式,调用直观,易读。

那么就先用起来吧,虽然还有很多坑,但互联网上开源的东西有哪个是让人特别省心的呢,是个好东西就用吧,碰到坑也只能用人肉去填了,(^-^)。

 

安装

建个工程文件夹,并进入,在命令行中运行安装sequelize命令。

npm install sequelize

安装mysql

npm install mysql

 

创建sequelize对象

在代码顶部先要把sequelize库require进来。

第一个参数'test1' 是数据库名。

第二个参数'root'是登录用户名。

第三个参数'123456'是登录用户对应的密码。

第四个参数:

host:数据库主机地址

dialect:'mysql'|'sqlite'|'postgres'|'mssql'

var Sequelize = require('sequelize');var sequelize = new Sequelize('test1', 'root', '123456', {  host: '172.16.16.138',  dialect: 'mysql'});

 

表结构

在mysql的test1数据库中建users表。

在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

 

创建表对应的对象模型

一条记录对应一个User对象。

var User = sequelize.define('user', {  name: Sequelize.STRING,  password: Sequelize.STRING,  mail: Sequelize.STRING});

 

插入记录

调用模型对象的create方法插入一条user记录。

通过promise的方式对插入完成和插入失败进行处理,链式调用非常方便,再也看不到callback了。

User.create({  name: 'XiaoMing',  password: '1234567890',  mail: 'xiaoming@qq.com'}).then(function(result){    console.log('inserted XiaoMing ok');}).catch(function(err){    console.log('inserted XiaoMing error');    console.log(err.message);});

 

查询记录

调用模型对象的findAll方法进行查询操作,在参数中可以制定where条件。

where条件甚至可以支持数据库自身特有的函数

where具体写法,参考:http://sequelize.readthedocs.io/en/latest/docs/querying/

  User.findAll({    where:{      name:{        $like:'Zhang%'      }    }  }).then(function(result){      console.log('query all users');      for (var i = 0, usr; usr = result[i++];) {        console.log('nae=' + usr.name + ', password=' + usr.password + ', mail=' + usr.mail);      }  });

 

修改记录

调用模型对象的update方法进行更新操作,在第一个参数中指定更新的字段和值,在第二个参数中指定条件。

User.update({  password:'12'},{  where:{    name:{      $like:'Xiao%'    }  }}).then(function(result){    console.log('updated user');    console.log(result);});

 

删除记录

调用模型对象的destroy方法进行删除操作,在参数中指定删除条件。

User.destroy({  where:{    name:{      $like:'Zhang%'    }  }}).then(function(result){    console.log('destroy user');    console.log(result);});

 

官方文档:戳




原标题:在node.js中,使用基于ORM架构的Sequelize,操作mysql数据库之增删改查

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

苏里南海运:https://www.goluckyvip.com/tag/99186.html
南美洲海运:https://www.goluckyvip.com/tag/99187.html
望加锡海运:https://www.goluckyvip.com/tag/99188.html
亚喀巴海运:https://www.goluckyvip.com/tag/99189.html
jooom入驻:https://www.goluckyvip.com/tag/9919.html
宁波到越南海运:https://www.goluckyvip.com/tag/99190.html
夹江千佛岩景区门票(夹江千佛岩景区门票价格):https://www.vstour.cn/a/411232.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流