如何在 Express.js 中使用 ORM 与数据库进行交互?

在构建一个 Web 应用程序时,与数据库进行交互是不可避免的。在 Node.js 中,使用 ORM(对象关系映射)可以更方便地操作数据库。

在本篇文章中,我们将介绍如何在 Express.js 中使用 ORM 与数据库进行交互。我们将使用 Sequelize 作为我们的 ORM。

什么是 Sequelize?

Sequelize 是一个基于 Promise 的 Node.js ORM,支持 Postgres、MySQL、SQLite 和 Microsoft SQL Server。它提供了许多有用的功能,如数据验证、查询生成器和事务支持。

安装 Sequelize

在开始使用 Sequelize 前,我们需要先安装它。可以使用 npm 进行安装:

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

同时,我们也需要安装对应的数据库驱动。例如,如果我们使用 MySQL,我们需要安装 mysql2 驱动:

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

连接数据库

在使用 Sequelize 之前,我们需要先连接到数据库。我们可以通过创建一个 Sequelize 实例来连接数据库。以下是一个连接到 MySQL 数据库的示例:

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

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

在这个示例中,我们创建了一个 Sequelize 实例,并传入了数据库名称、用户名、密码、主机和数据库类型。

定义模型

在使用 Sequelize 时,我们需要先定义模型。模型是与数据库表相对应的 JavaScript 类。以下是一个定义模型的示例:

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

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

在这个示例中,我们定义了一个 User 模型,并指定了它的数据类型。我们还指定了该模型对应的数据库表名为 user。

创建和查询数据

一旦我们定义了模型,我们就可以使用它来创建和查询数据了。以下是一个创建和查询数据的示例:

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

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

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

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

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

在这个示例中,我们首先调用了 sequelize.sync() 方法来同步模型和数据库。然后,我们使用 User.create() 方法创建了一个新的用户,并使用 User.findAll() 方法查询了所有的用户。

总结

在本篇文章中,我们介绍了如何在 Express.js 中使用 Sequelize ORM 与数据库进行交互。我们学习了如何连接数据库、定义模型以及创建和查询数据。希望这篇文章对你有所帮助。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65dea9141886fbafa4bea642