如何在 Express.js 中使用 Sequelize 进行 ORM 操作

阅读时长 5 分钟读完

什么是 ORM?

ORM(Object-relational mapping)是一种编程技术,用于将关系型数据库模型映射到面向对象编程语言中。ORM 将数据库操作抽象为对象和方法,使得开发者可以通过常见的编程语言操作数据库,无需直接使用 SQL 语句。

ORM 对前端开发有很大的意义,因为前端要涉及到数据存储和处理,而 ORM 技术可以让前端开发者通过 JavaScript 对数据库进行操作,进一步简化开发工作。

什么是 Sequelize?

Sequelize 是一个 Node.js ORM 框架,它支持 PostgreSQL、MySQL、MariaDB、SQLite 和 MSSQL 等多种数据库。Sequelize 提供了完整的数据库操作功能,包括模型定义、关系映射、事务、查询等等。

Sequelize 约定了模型的定义,使用者可以很方便的创建、修改表结构,同时对于关系型数据库的操作也变得更加简单和直观。

在 Express.js 中使用 Sequelize

在 Express.js 中使用 Sequelize 首先需要安装 sequelize 和相应的数据库驱动。以 MySQL 为例,可以使用以下命令安装:

接着,在 Express.js 的应用程序中引入 sequelize:

定义 Sequelize 实例:

其中,databaseusernamepassword 分别是数据库名、用户名和密码,host 是数据库主机名,dialect 是数据库类型。

下一步是定义模型。在 Sequelize 中,模型是用来表示数据库中的表的。在定义模型之前,需要先定义表的结构。可以使用以下代码在 MySQL 中创建一个名为 users 的表:

接下来,可以定义模型。在 Sequelize 中,模型可以通过 sequelize.define 函数来定义:

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

这段代码创建了名为 user 的模型,其中包含 idusernamepassword 三个属性。id 为主键,并且是自增的,usernamepassword 属性都是字符串类型,值不能为空。

现在,可以使用 Sequelize 对数据进行简单的增、删、改、查操作。以下是一个例子:

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

-- ---

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

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

-- ---

这个例子展示了如何使用 Sequelize 创建和查询用户。在创建用户时,使用 User.create 函数,传递 usernamepassword 参数即可。在查询用户时,使用 User.findByPk 函数,根据传递的 ID 查找用户。

总结

在本文中,我们介绍了 ORM 和 Sequelize 的概念,以及如何在 Express.js 中使用 Sequelize 进行 ORM 操作。ORM 技术可以极大地简化开发者对于数据库操作的处理,而 Sequelize 可以方便地对于多个数据库进行映射和操作。希望本文对于前端开发者学习和使用 Sequelize 有所帮助。

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

纠错
反馈