使用 Express.js 进行 ORM 操作

阅读时长 6 分钟读完

什么是 ORM

ORM(Object-Relational Mapping)是一种程序设计技术,它将面向对象的编程语言与关系型数据库之间建立起映射关系,从而可以通过编程语言对数据库进行操作,而无需直接操作 SQL 语句。

ORM 通常具有以下特点:

  • 统一的数据访问接口,可以面向对象的方式对数据库进行 CRUD 操作;
  • 简化了 SQL 语句的编写,屏蔽了数据库差异,提高了代码的可维护性和可读性;
  • 支持数据关系对象的映射和管理,方便进行数据关联和查询。

在 Node.js 生态中,ORM 框架也是比较常用的工具之一,比如 Sequelize、Mongoose 等。下面将介绍如何使用 Express.js 进行 ORM 操作。

使用 Sequelize 进行 ORM 操作

Sequelize 是一种支持多种数据库的 ORM 框架,包括 MySQL、PostgreSQL、SQLite 和 MSSQL 等。这里以 MySQL 为例进行介绍。

在使用 Sequelize 进行 ORM 操作时,需要安装 sequelizemysql2 两个模块。

接下来,先定义一个简单的模型,例如用户模型:

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

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

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

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

上面的代码中,定义了一个名为 User 的模型,包含两个属性:nameage。其中,DataTypes 是 Sequelize 提供的数据类型,可以根据实际需要进行修改。

接下来,需要在应用中创建数据库连接,并同步模型:

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

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

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

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

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

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

上面的代码中,使用 sequelize.authenticate() 方法创建数据库连接,并使用 sequelize.sync() 方法同步模型。其中,{ force: true } 参数表示每次同步时先删除表,再重新创建。

最后,通过 user 路由实现 CRUD 操作:

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

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

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

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

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

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

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

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

上面的代码中,使用 Sequelize 提供的 API 实现了查询所有用户、查询单个用户、创建用户、更新用户和删除用户。其中,findAll()findByPk() 方法用于查询数据,create() 方法用于创建数据,update() 方法用于更新数据,destroy() 方法用于删除数据。

总结

本文介绍了使用 Sequelize 进行 ORM 操作的方法,包括创建模型、创建数据库连接、同步模型和实现 CRUD 操作。ORM 可以简化数据库操作,提高代码的可维护性和可读性,对于大型项目来说是必不可少的工具之一。希望本文能够帮助前端开发者更好地使用 Express.js 进行 ORM 操作,提高开发效率和代码质量。

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

纠错
反馈