Express.js 中使用 Sequelize.js 实现 MySQL 数据库连接

阅读时长 6 分钟读完

介绍

Sequelize.js 是一个 Node.js 的 ORM(Object-Relational Mapping) 框架,它支持多种数据库,包括 MySQL、PostgreSQL、SQLite 和 MSSQL 等。Sequelize.js 提供了强大的数据模型定义和查询 API,可以帮助我们更方便地操作数据库。在本文中,我们将介绍如何在 Express.js 中使用 Sequelize.js 实现 MySQL 数据库连接。

准备工作

在开始之前,我们需要准备好以下工具和环境:

  • Node.js 环境
  • MySQL 数据库
  • Sequelize.js 模块

如果你还没有安装 Node.js,请先前往官网下载并安装:https://nodejs.org/en/

安装 MySQL 数据库请参考官方文档:https://dev.mysql.com/doc/

安装 Sequelize.js 模块可以通过 npm 命令进行安装:

创建 Sequelize 实例

在 Express.js 中使用 Sequelize.js 需要先创建一个 Sequelize 实例,这个实例将作为我们的数据库连接对象。在创建实例时,我们需要传入数据库的连接信息,例如数据库名、用户名、密码等。

上面的代码创建了一个 Sequelize 实例,连接了名为 database 的 MySQL 数据库,使用用户名 username 和密码 password 进行身份验证,数据库的主机地址为 localhost,使用 MySQL 作为数据库的方言。

定义数据模型

在使用 Sequelize.js 操作数据库时,我们需要先定义数据模型,即定义表结构和字段。Sequelize.js 提供了多种定义数据模型的方式,包括使用模型定义语言(Model Definition Language,MDL)和使用模型类(Model Class)等。

下面是一个使用 MDL 定义数据模型的示例:

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

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

上面的代码定义了一个名为 User 的数据模型,它有三个字段:idnameage。其中,id 是主键,自动递增;nameage 都是字符串类型,不能为空。最后一个参数是一个选项对象,用来配置模型的一些行为,例如关闭自动生成时间戳(timestamps: false)。

进行数据库操作

定义好数据模型后,我们就可以使用 Sequelize.js 提供的 API 进行数据库操作了。下面是一些常用的操作示例:

创建表

使用 sequelize.sync() 方法可以根据定义的数据模型创建对应的表。如果表已经存在,它将不会重新创建。

插入数据

使用 Model.create() 方法可以向数据库中插入一条新数据。

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

查询数据

使用 Model.findAll() 方法可以查询表中的所有数据。

更新数据

使用 Model.update() 方法可以更新表中的数据。

删除数据

使用 Model.destroy() 方法可以删除表中的数据。

总结

在本文中,我们介绍了如何在 Express.js 中使用 Sequelize.js 实现 MySQL 数据库连接。首先,我们创建了一个 Sequelize 实例,然后定义了数据模型,最后演示了一些常用的数据库操作。希望本文能帮助大家更好地理解和使用 Sequelize.js。

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

纠错
反馈

纠错反馈