Sequelize 实现 Node.js CRUD 操作

阅读时长 6 分钟读完

介绍

Sequelize 是一个 Node.js ORM(对象关系映射)框架,支持多种数据库,如 MySQL、PostgreSQL、SQLite 和 Microsoft SQL Server。它提供了一种简单的方式用 JavaScript 代码操作数据库,而不必手动编写 SQL 语句。

在本文中,我们将学习如何使用 Sequelize 实现 Node.js CRUD(增删改查)操作。

安装

首先,我们需要安装 Sequelize。在终端中输入以下命令:

此外,我们还需要安装驱动程序,用于与数据库通信。例如,如果您要使用 MySQL,可以安装以下驱动程序:

连接到数据库

在使用 Sequelize 之前,我们需要先连接到数据库。以下是连接到 MySQL 数据库的示例代码:

  • database_name:数据库名称
  • username:用户名
  • password:密码
  • host:数据库主机地址
  • dialect:数据库类型,此处为 MySQL

定义模型

在 Sequelize 中,模型对应于数据库中的表。我们可以使用模型来执行 CRUD 操作。以下是创建一个名为 User 的模型的示例代码:

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

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

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

在上面的示例代码中,我们定义了一个名为 User 的模型,该模型包含四个字段:firstNamelastNameemailpassword。我们使用 sequelize.define() 方法创建了一个模型,并定义了每个字段的类型。unique: true 表示 email 字段是唯一的,即不能有重复的值。

要在数据库中创建新的记录,我们可以使用 create() 方法。以下是创建一个新用户的示例代码:

在上面的示例代码中,我们创建了一个新用户,并将其存储在数据库中。create() 方法返回一个 Promise,我们使用 .then() 方法处理 Promise,打印新用户的 JSON 数据。

要从数据库中删除记录,我们可以使用 destroy() 方法。以下是删除用户的示例代码:

在上面的示例代码中,我们删除了 ID 为 1 的用户。destroy() 方法返回一个 Promise,我们使用 .then() 方法处理 Promise,打印删除操作影响的行数。

要更新数据库中的记录,我们可以使用 update() 方法。以下是更新用户的示例代码:

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

在上面的示例代码中,我们将 ID 为 1 的用户的名字从 John 改为 Jane。update() 方法返回一个 Promise,我们使用 .then() 方法处理 Promise,打印更新操作影响的行数。

要从数据库中检索记录,我们可以使用 findAll() 方法,该方法将返回符合查询条件的所有记录。以下是检索所有用户的示例代码:

在上面的示例代码中,我们检索了所有用户的记录,并使用 .map() 方法将每个用户转换为 JSON 格式。findAll() 方法返回一个 Promise,我们使用 .then() 方法处理 Promise。

我们还可以使用 findOne() 方法检索单个记录。以下是通过电子邮件查找用户的示例代码:

在上面的示例代码中,我们使用电子邮件地址检索了一个用户的记录,并将其转换为 JSON 格式。findOne() 方法返回一个 Promise,我们使用 .then() 方法处理 Promise。

结论

在本文中,我们学习了如何使用 Sequelize 实现 Node.js CRUD 操作。我们首先连接到数据库,然后定义了模型来对应数据库中的表。接下来,我们学习了如何使用 create()destroy()update()findAll() 方法来执行 CRUD 操作。

Sequelize 提供了一种简单的方式用 JavaScript 代码操纵数据库。熟练掌握它可以让我们开发更高效并且更易于维护的 Node.js 应用程序。

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

纠错
反馈