Express.js 中 ORM 框架 Sequelize 的使用指南

在现代 Web 开发中,ORM (对象关系映射) 框架在数据库交互方面变得越来越流行。因为 ORM 可以方便地将应用程序中的对象与数据库中的关系表相互映射,从而简化了开发流程。 Sequelize 是一个流行的 Node.js ORM 框架,可以与 Express.js 结合使用。本文将为您提供 Sequelize 的使用指南,涵盖其基础和高级功能。

安装 Sequelize

在开始使用 Sequelize 之前,必须先安装它。要安装 Sequelize,请打开您的终端并运行以下命令:

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

连接数据库

使用 Sequelize 之前,必须设置与数据库的连接。您可以使用以下代码连接 MySQL 数据库:

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

在上面的代码中,您必须传递数据库名称,用户名和密码。本例中数据库的主机是 localhost,使用的 SQL 方言是 MySQL。除了 MySQL 外,Sequelize 还支持 PostgreSQL、SQLite 和 Microsoft SQL Server。

创建模型

在 Sequelize 中,模型类似于数据库中的关系表。要创建模型,请使用以下代码:

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

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

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

在上面的代码中,我们定义了一个名为 User 的模型,并在其内部定义了三个字段 firstName、lastName 和 email。

查询数据

要从数据库中查询数据,请使用以下代码:

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

在上面的代码中,findAll() 方法将查询所有用户,并通过 Promise 返回结果。您可以使用 then() 方法来处理结果。

添加/编辑数据

要添加或编辑数据,请使用以下代码:

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

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

在上面的代码中,我们使用 create() 方法添加了一个新用户。使用 update() 方法,我们将第一个用户的 firstName 更改为 Jane。

删除数据

要从数据库中删除数据,请使用以下代码:

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

在上面的代码中,我们使用 destroy() 方法删除了带有 id 为 1 的用户。

高级查询

Sequelize 提供了许多高级查询功能,例如嵌套联接、分组、排序等。以下是 orderBy 示例:

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

在上面的代码中,我们使用 order 选项按 firstName 升序排序。

结论

在本文中,我们介绍了如何在 Express.js 中使用 Sequelize ORM 框架。我们学习了如何连接数据库、创建和查询模型,以及如何添加、编辑和删除数据。此外,我们还了解了高级查询特性。希望这篇文章能够帮助您开始使用 Sequelize 并加快您的开发速度。

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