Sequelize ORM 怎么使用?

阅读时长 5 分钟读完

什么是 Sequelize ORM?

Sequelize 是一款基于 Node.js 的 ORM(Object-Relational Mapping),可以操作 MySQL、PostgreSQL、SQLite 和 Microsoft SQL Server 等关系型数据库。Sequelize 将数据库中的表映射为模型(Model),并通过模型对数据库进行增、删、改、查等操作。Sequelize 的使用便捷并且具有良好的兼容性,可以轻松地实现与多种数据库之间的互操作。

如何安装和配置 Sequlize?

在 Node.js 开发环境中使用 Sequelize,需要安装 Sequelize 和数据库驱动(如 mysql2、pg 或 sqlite3 等)。可以使用 npm 进行安装。

安装完成后,在项目中导入 Sequelize 和数据库驱动,然后创建 Sequelize 实例。

在上面的代码中,我们使用了 MySQL 数据库,并且创建了一个名为 sequelize 的 Sequelize 实例,并传入相应的参数,分别是数据库的名称、用户名和密码。

如何定义模型?

在 Sequelize 中,模型是对数据库表的抽象。Sequelize 会自动根据模型定义创建对应的表,并维护表的结构。可以使用 sequelize.define() 方法定义模型。

下面是一个用户模型的定义示例:

-- -------------------- ---- -------
----- ---- - ------------------------ -
  --- -
    ----- ------------------
    ----------- -----
    -------------- ----
  --
  ----- -
    ----- ----------------------
    ---------- -----
  --
  --------- -
    ----- ----------------------
    ---------- -----
  --
  ------ -
    ----- ----------------------
    ------- -----
    ---------- -----
  -
-- -
  ----------- -----
  ------------ -----
  ---------- -------
---
展开代码

在上面的代码中,我们创建了一个名为 User 的模型,并指定了该模型对应的数据库表名为 users。模型定义包含了四个属性,分别是 idnamepasswordemail。其中,id 是主键,使用 autoIncrement 自动递增;namepasswordemail 属性都是字符串类型,并且 namepassword 不能为空,email 是唯一的。

在模型定义中,还可以指定一些其他的属性,如 timestampsunderscored 等。timestamps 表示是否自动添加 createdAtupdatedAt 两个时间戳字段,underscored 表示是否使用下划线作为字段名的分隔符。

如何使用模型进行 CRUD 操作?

在定义好模型后,就可以使用模型进行 CRUD 操作了。以下是一些常用的模型操作示例。

创建记录

在上面的代码中,我们使用 User.create() 方法,创建了一条记录,并将记录插入到 users 表中。create() 方法会返回一个 Promise 对象,当创建成功时,会返回插入的记录对象。我们可以通过访问该对象的属性,如 id,来获取插入的记录的信息。

读取记录

在上面的代码中,我们使用 User.findAll() 方法,读取了 users 表中的所有记录,并将记录以数组的形式返回。我们可以通过访问数组的 length 属性,来获取表中的记录数。

除了读取所有记录之外,还可以使用 findById()findOne()findAndCountAll() 等方法,读取指定的记录。这些方法都支持传入一些查询条件,如 whereorderlimit 等。

更新记录

在上面的代码中,我们首先使用 User.findOne() 方法,查找了 id1 的记录,并将其修改了 name 属性。然后,我们调用了 user.save() 方法,将修改后的记录更新到 users 表中。

除了调用对象的 save() 方法之外,还可以使用 update() 方法进行批量更新操作。

删除记录

在上面的代码中,我们使用 User.destroy() 方法,删除了 id1 的记录。

总结

在这篇文章中,我们介绍了如何安装和配置 Sequelize,如何定义模型以及如何使用模型进行 CRUD 操作。Sequelize 是一款非常优秀的 ORM 库,可以轻松地实现与多种数据库之间的互操作,非常适合 Node.js 开发中使用。如果您还没有使用过 Sequelize,不妨尝试使用一下,体验一下它带来的方便和便捷。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64816ea948841e98940e2d04

纠错
反馈

纠错反馈