Sequelize 与 Express 结合应用实例

阅读时长 8 分钟读完

Sequelize 是一个 Node.js 中的 ORM(对象关系映射)框架,可以让开发者使用 JavaScript 语言直接操作数据库,而不必学习 SQL 语言。Express 是一款常用的 Node.js Web 框架,可以提供路由、中间件等功能,方便开发者构建 Web 应用。本文将介绍如何使用 Sequelize 和 Express 结合开发一个简单的 Web 应用,并提供详细的示例代码。

准备工作

在开始开发之前,需要先安装好 Node.js 和 MySQL 数据库,并创建一个名为 sequelize_express_demo 的数据库。可以使用以下命令来创建数据库:

接着,在项目目录下执行以下命令来初始化一个 Express 项目:

其中,express 是 Express 框架,sequelize 是 Sequelize 框架,mysql2 是 MySQL 驱动,body-parser 是解析请求体的中间件,cors 是处理跨域请求的中间件。

创建数据库表

sequelize_express_demo 数据库中创建一个名为 users 的表,用于存储用户信息。可以使用以下 SQL 命令来创建表:

配置 Sequelize

在项目根目录下创建一个名为 config.js 的文件,用于存储 Sequelize 的配置信息。示例代码如下:

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

其中,developmenttestproduction 分别对应开发、测试、生产环境下的配置信息。在本示例中,我们只使用了 development 配置。

配置 Express

在项目根目录下创建一个名为 app.js 的文件,用于配置 Express。示例代码如下:

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

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

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

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

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

其中,body-parser 中间件用于解析请求体,cors 中间件用于处理跨域请求。db.sequelize.sync() 用于自动同步数据库表结构。

创建 Sequelize 模型

在项目根目录下创建一个名为 models 的文件夹,并在其中创建一个名为 user.js 的文件,用于定义用户模型。示例代码如下:

其中,sequelize.define() 方法用于定义一个模型,第一个参数为模型名称,第二个参数为模型属性。

创建路由

在项目根目录下创建一个名为 routes 的文件夹,并在其中创建一个名为 user.js 的文件,用于定义用户路由。示例代码如下:

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

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

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

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

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

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

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

其中,db.User.findAll() 用于获取所有用户,db.User.findByPk() 用于获取指定用户,db.User.create() 用于创建用户,db.User.update() 用于更新用户,db.User.destroy() 用于删除用户。

注册路由

app.js 文件中注册路由。示例代码如下:

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

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

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

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

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

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

其中,app.use('/users', userRoutes) 用于注册用户路由。

测试接口

使用 Postman 或其他 HTTP 请求工具,测试接口是否正常。以下是一些常用的测试请求:

总结

本文介绍了如何使用 Sequelize 和 Express 结合开发一个简单的 Web 应用,包括创建数据库表、配置 Sequelize、配置 Express、创建 Sequelize 模型、创建路由、注册路由和测试接口等步骤。通过这个实例,读者可以了解到如何使用 Sequelize 和 Express 进行开发,并掌握相关的基础知识和技能。

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

纠错
反馈