Sequelize ORM 指南

阅读时长 6 分钟读完

什么是 Sequelize ORM

Sequelize ORM 是一个 Node.js 中的 ORM(对象关系映射)库,使开发人员可以使用 JavaScript 与 PostgreSQL,MySQL,MariaDB,SQLite 等关系型数据库交互。它被设计成易于使用且高度灵活的库,支持多种数据访问模式,并提供了各种查询选项。

为什么使用 Sequelize ORM

  1. 易于学习和使用:Sequelize ORM 提供了一套简单而广泛的 API,使得学习和使用非常简单。

  2. 跨数据库平台兼容性强:Sequelize ORM 支持多种关系型数据库,如 PostgreSQL,MySQL,MariaDB 等。这可以使你的应用程序易于切换数据库平台。

  3. 自动生成 SQL:使用 Sequelize ORM,你不需要手写 SQL 操作。Sequelize ORM 提供了一套简单而直观的 API,使用它们可以轻松地生成 SQL 查询。

  4. 支持多种数据访问模式:Sequelize ORM 提供了多种查询模式,包括查询操作,嵌套查询,原生查询,事务等,大大提高了数据的灵活性。

  5. 与 Node.js 应用程序无缝集成:Sequelize ORM 可以轻松地与 Node.js 应用程序集成。它提供了多种选项,包括 Promise,async/await 等,这使得它非常适合用于异步 Node.js 应用程序。

如何使用 Sequelize ORM

安装 Sequelize ORM

你可以使用 npm 或 yarn 来安装 Sequelize ORM:

配置 Sequelize ORM

在 Node.js 中使用 Sequelize ORM 时,你需要使用一个名为 Sequelize 的构造函数来创建一个 Sequelize 实例。使用 Sequelize 构造函数需要一个在数据库中连接的 URL。

这里的 host 和 dialect 都是必需的选项。host 是你想要连接的主机名或 IP 地址,dialect 是你要使用的数据库类型。

创建 Model

在 Sequelize ORM 中,Model 是用于访问数据库表的一个抽象。Model 代表了一个具体的数据库表。

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

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

在上述代码中,我们使用 sequelize.define 方法定义了一个名为 User 的 Model。我们定义了该 Model 的列的数据类型和其他选项,如是否允许为空。DataTypes 是 Sequelize 自带的数据类型,如 STRING,INTEGER,BOOLEAN,DATE 等。

同步 Model

在创建完 Model 后,我们需要通过 Sequelize.sync 方法将 Model 同步到数据库中。

这里使用了 async/await 语法来确保同步完成后输出一条消息。

插入数据

下面是向 User Model 中插入一条数据的示例:

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

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

在上述代码中,我们使用了 User.create 方法插入了一条数据。这个方法返回一个 Promise,因此我们使用了 async/await 语法来确保插入完成并输出一条消息。

查询数据

Sequelize ORM 提供了多种查询方法。下面是一个查询 User Model 的所有数据的示例:

在上述代码中,我们使用了 User.findAll 方法查询了 User Model 的所有数据。该方法返回一个 Promise,并将查找到的所有数据作为一个数组返回。

更新数据

下面是一个更新 User Model 中数据的示例:

在上述代码中,我们使用了 User.update 方法更新了 User Model 中 firstName 为 Jane 的数据的 age 属性。

删除数据

下面是一个删除 User Model 中数据的示例:

在上述代码中,我们使用了 User.destroy 方法删除了 User Model 中 firstName 为 Jane 的数据。

总结

Sequelize ORM 是一个可靠、灵活和易于使用的 Node.js ORM 库。它支持多种数据库平台,提供多种数据访问模式,且易于学习和使用。通过本篇文章介绍的示例代码,你可以了解到 Sequelize ORM 如何创建 Model,插入、查询、更新和删除数据。

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

纠错
反馈

纠错反馈