Sequelize 学习笔记:如何使用 ORM 映射关系数据库

阅读时长 5 分钟读完

如果你是一个熟练掌握 MySQL 或 PostgreSQL 数据库的开发者,你是否曾经为了搭建与数据库交互的应用而苦恼?如果你正在寻找一种更加简单而又高效的方法来实现这一目标,那么 Sequelize ORM 将是一个很好的选择。

本文将介绍 Sequelize ORM 的基础知识以及如何使用它来映射关系型数据库。

什么是 Sequelize ORM?

Sequelize ORM 是一个用于 Node.js 语言的 ORM 框架。ORM 意为对象关系映射,它允许开发人员通过面向对象的方式与数据库进行交互,无需编写 SQL 语句。

Sequelize 提供了良好的文档和完整的 API,支持诸如 MySQL、PostgreSQL、SQLite 和 MSSQL 等多种关系型数据库管理系统(RDBMS)。

在本文中,我们将使用 Sequelize 来连接 PostgreSQL 数据库。

安装 Sequelize

要使用 Sequelize,首先需要确保已安装 Node.js(至少 v8.0.0)和 PostgreSQL。在此基础上,可以通过以下命令安装 Sequelize:

其中,pg 是 PostgreSQL 驱动程序,pg-hstore 允许我们在 PostgreSQL 数据库中存储 JSON 数据。

如何使用 Sequelize

连接数据库

在使用 Sequelize 前,需要首先连接一个数据库。在你的项目中,你需要引入 Sequelize 并创建一个新实例。

可以看到,Sequelize 这个模块提供了完整的关于 Sequelize 的 API,sequelize 根据数据库信息创建了一个数据库实例。

具体来说,上述代码中的第一个参数是你要连接的数据库名称,第二个参数是用户名,第三个参数是密码。我们可以在第四个参数 options 中指定主机(host)和数据库类型(dialect)。在此示例中,我们连接的是本地的 PostgreSQL 数据库。

此时我们可以通过 authenticate 方法来测试数据库的连接是否成功。

在连接成功之后,可以继续定义数据模型并使用 Sequelize 进行增删改查。

定义数据模型

Sequelize 允许我们使用 JavaScript 类来定义数据模型,这些类基于关系型数据库中的表。

-- -------------------- ---- -------
----- ---- - ------------------------ -
  --- -
    ----- ------------------
    ----------- -----
    -------------- -----
  --
  ----- -
    ----- -----------------
    ---------- ------
  --
---

以上代码中,我们使用 sequelize.define 方法来定义一个名为 user 的数据模型,并指定了其包含的属性,例如 idname。我们可以使用不同的数据类型作为属性,例如 INTEGERSTRINGprimaryKeyautoIncrementallowNull 等选项可用于进一步定义模型。

Sequelize 方法

一旦我们定义了数据模型,我们可以使用以下 Sequelize 方法来执行与数据库的交互:

  • create:创建一个新记录,并向模型中插入一条数据。
  • findAll:返回所有符合条件的记录。
  • findOne:返回符合条件的第一条记录。
  • update:更新符合条件的记录。
  • destroy:删除符合条件的记录。

以下是一个使用 Sequelize 方法的示例:

-- -------------------- ---- -------
------------- ----- ----- ---- -------------- -- -
  ---------------------------
---

-------------- ------ - ----- ----- ---- - --------------- -- -
  -------------------
---

------------- ----- ----- ---- -- - ------ - ----- ----- ---- - ---------- -- -
  --------------------
---

-------------- ------ - --- - - ---------- -- -
  -----------------------
---

在上面的代码中,我们创建了一个新用户记录,找到了名为“John Doe”的记录,将其名称更新为“Jane Doe”,然后删除 ID 为 1 的记录。

总结

本文介绍了 Sequelize ORM 的基础知识,以及如何使用 Sequelize 来映射关系型数据库。Sequelize 允许开发人员使用 JavaScript 面向对象的方式与数据库交互,从而简化了编写 SQL 语句的工作量。

在日常开发中,Sequelize 的优秀文档和完善 API 为我们提供了更高效的数据操作方式。我们期望你在使用 Sequelize ORM 这一工具时,能够减少时间成本,提高开发效率。

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

纠错
反馈