Sequelize 的基础知识及入门教程

阅读时长 7 分钟读完

前言

Sequelize 是一个基于 Node.js 的 ORM 框架,它支持多种数据库,并且提供了灵活的 API,有助于轻松地操作数据库。Sequelize 使用 Promise 管理异步操作,还支持事务处理和钩子函数。

在这篇文章里,我们将会学习 Sequelize 的基础知识,并构建一个简单的 Web 应用来演示如何使用 Sequelize。

环境准备

在继续之前,我们需要确保已经安装了 Node.js 和一个数据库。本文以 MySQL 数据库为例,您可以自行选择其他支持的数据库。

首先,我们需要在命令行中运行以下命令来安装 Sequelize 和 MySQL 驱动程序:

连接数据库

在开始使用 Sequelize 之前,我们需要先连接到数据库。首先,我们创建一个 config.js 文件来管理连接配置信息。

然后,我们创建 sequelize.js 文件来初始化 Sequelize,并连接到数据库。代码如下:

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

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

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

-------------- - ---------
展开代码

在上面的代码中,我们首先创建一个 Sequelize 实例,然后使用 authenticate() 方法检查连接是否成功。

定义模型

要使用 Sequelize 操作数据库,我们需要定义一个或多个数据库表的模型。一个模型对应一个表,可以包含多个字段,每个字段对应表中的一列。

假设我们要定义一个 User 表,包含 id、username 和 password 三个字段。首先,我们创建一个 models 文件夹,并在其中创建一个 user.js 文件来定义 User 模型:

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

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

-------------- - ----
展开代码

在上面的代码中,我们首先引入 Sequelize 和 sequelize 实例,并通过调用 define() 方法来定义 User 模型。

define() 方法中,我们传入两个参数:模型名称和字段定义对象。字段定义对象中,我们使用 Sequelize 提供的数据类型和选项来定义每个字段。

在本例中,我们设置 id 字段为主键和自增,并设置 username 和 password 为必填字段。username 和 password 都使用了 Sequelize 提供的 STRING 类型,并限制了长度。

增、删、改、查

有了模型之后,我们就可以使用 Sequelize 进行增、删、改、查的操作。

创建记录

我们可以使用 create() 方法来创建新记录。

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

-------------
  --------- --------
  --------- --------
------------ -- -
  --------------------------
------------ -- -
  ------------------
--
展开代码

在上面的代码中,我们创建了一个用户名为 alice,密码为 123456 的用户,并将其记录到数据库中。

删除记录

我们可以使用 destroy() 方法来删除记录。

-- -------------------- ---- -------
--------------
  ------ -
    --------- -------
  -
---------- -- -
  ------------------- --- ---- ----------
------------ -- -
  ------------------
--
展开代码

在上面的代码中,我们删除了所有用户名为 alice 的用户记录。

更新记录

我们可以使用 update() 方法来更新记录。

-- -------------------- ---- -------
-------------
  --------- --------
-- -
  ------ -
    --------- -------
  -
---------- -- -
  ------------------- --- ---- ----------
------------ -- -
  ------------------
--
展开代码

在上面的代码中,我们更新了所有用户名为 alice 的用户记录的密码为 654321。

查询记录

我们可以使用 findAll() 方法来查询记录。

在上面的代码中,我们查询了 User 表中的所有记录,并打印出每个记录的 JSON 形式。

我们也可以对查询结果进行限制和排序。

-- -------------------- ---- -------
--------------
  ------ ---           -- ---- -- ---
  ------- ---          -- -- -- -------
  ------ ------- -------   -- -- -- ----
------------- -- -
  ------------------ -- -
    --------------------------
  --
------------ -- -
  ------------------
--
展开代码

在上面的代码中,我们限制了查询结果最多只能有 10 条记录,并从第 10 条记录开始查询。同时,我们按照 id 字段升序排序。

查询单条记录

我们可以使用 findOne() 方法来查询单条记录。

-- -------------------- ---- -------
--------------
  ------ -
    --------- -------
  -
------------ -- -
  --------------------------
------------ -- -
  ------------------
--
展开代码

在上面的代码中,我们查询了 User 表中用户名为 alice 的用户记录。

小结

在本篇文章中,我们学习了 Sequelize 的基础知识,并使用 Sequelize 构建了一个简单的 Web 应用。虽然本文只是介绍了 Sequelize 的一小部分功能,但它足以让我们开始使用 Sequelize 来进行数据库操作。

Sequelize 是一个功能强大的 ORM 框架,它提供了很多有用的功能,如事务处理、钩子函数等。希望本文能够帮助你理解 Sequelize 的使用,并在你的项目中发挥作用。

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

纠错
反馈

纠错反馈