什么是 sequelizer
Sequelize 是一个 Node.js ORM(Object Relational Mapping) 的库,它支持 MySQL、PostgreSQL、SQLite 和 MSSQL。它拥有非常多的特性,比如事务支持、关联关系、模型定义和查询接口等等,它也是一个十分优秀的数据库管理工具。
安装 sequelizer
npm install sequelize
配置数据库信息
首先你需要在项目中配置数据库信息,你可以选择在文件中配置,也可以选择使用环境变量来配置。
const Sequelize = require('sequelize'); const sequelize = new Sequelize('database', 'username', 'password', { host: 'localhost', dialect: 'mysql' });
定义模型
接下来我们需要定义模型了。一个模型就是在数据库中对应一张表的一个实体,下面的代码是一个 User 模型的定义。
-- -------------------- ---- ------- ----- ---- - ------------------------ - ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ---------------- - ---展开代码
同步数据库
在定义了模型之后,需要使用sync()方法将模型同步到数据库中:
sequelize.sync();
增删查改
在定义了模型之后,我们就可以对数据库中的数据进行 增删查改 操作了。
创建新数据
User.create({ firstName: 'John', lastName: 'Doe' });
更新数据
User.update({ firstName: 'New Name' }, { where: { lastName: 'Doe' } });
删除数据
User.destroy({ where: { lastName: 'Doe' } });
查询数据
查询数据有多种方式,常用的有以下几种。
查询所有数据
User.findAll().then(users => { console.log(users); });
条件查询
User.findAll({ where: { lastName: 'Doe' } }).then(users => { console.log(users); });
按照属性排序
User.findAll({ order: [ ['firstName', 'ASC'], ['lastName', 'DESC'] ] }).then(users => { console.log(users); });
总结
Sequelize 是一个非常强大的 Node.js ORM 库,它可以大大简化与数据库的交互过程。在使用 Sequelize 时需要先安装和配置好,定义好 Model 并同步到数据库中,然后就可以对数据进行增删查改操作了。本篇文章仅仅介绍了 Sequelize 的基本用法,更加深度的学习可以参考 Sequelize 官方文档。
示例代码
-- -------------------- ---- ------- ----- --------- - --------------------- ----- --------- - --- --------------------- ----------- ----------- - ----- ------------ -------- ------- --- ----- ---- - ------------------------ - ---------- - ----- ----------------- ---------- ----- -- --------- - ----- ---------------- - --- ----------------- ------------- ---------- ------- --------- ----- --- ------------- ---------- ---- ----- -- - ------ - --------- ----- - --- -------------- ------ - --------- ----- - --- ------------------------- -- - ------------------- --- -------------- ------ - --------- ----- - ------------- -- - ------------------- --- -------------- ------ - ------------- ------- ------------ ------- - ------------- -- - ------------------- ---展开代码
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedb3aeb5cbfe1ea06111a8