Koa2 中使用 Sequelize 实现 MySQL 连接和数据库操作

在前端开发中,数据库是必不可少的一部分。而对于 Node.js 后端开发来说,使用 Sequelize ORM 可以简化对 MySQL 数据库的操作。本文将介绍如何在 Koa2 中使用 Sequelize 实现 MySQL 的连接和数据库操作。

安装依赖

使用 Sequelize 前,需要先安装相关依赖。使用以下命令安装所需依赖:

  • sequelize 是 Sequelize ORM 库本身的依赖;
  • mysql2 是 MySQL 数据库的依赖,用于连接和操作 MySQL 数据库。

连接数据库

在使用 Sequelize 操作 MySQL 数据库之前,需要先建立数据库连接。以下是建立连接的基本步骤:

  1. 创建连接对象和数据库连接;
  2. 验证连接是否能够正常工作;
  3. 同步数据库模型到数据库;
  4. 关闭连接。

在建立连接对象时需传入数据库名称、用户名和密码等参数,也可以通过 .env 管理敏感信息,防止代码泄露泄漏。

在验证连接是否正常工作时,会自动生成一个 SELECT 1+1 as result; 的 SQL 语句,验证是否能够正常查询数据,如果成功就打印出 “Connection has been established successfully.” 的日志。

在同步数据库模型到数据库时,可以根据之前的定义的 model 创建出相应的数据表,并且如果数据表不存在的情况下,Sequelize 会自动帮助创建数据表。如果表已经存在了,Sequelize 会在表上加上缺少的列。

如果没有错误,最后会显示 “All models were synchronized successfully.” 的日志。最后通过调用 sequelize.close() 方法关闭连接。

定义 Model

在 Sequelize 中,Model 表示数据结构,即表中的列,可以定义每个列的数据类型、默认值等属性。Model 与表的关系类似于类和对象之间的关系。以下是一个简单的 User Model 定义示例:

在定义 Model 时,需要创建一个名称和属性对象的映射。属性对象指定每个属性的名称、数据类型、是否允许为空、默认值等。sequelize.define() 方法用于定义 Model,接受两个参数:

  • 第一个参数是 Model 的名称,将被用于生成表格名称;
  • 第二个参数是属性对象,用于规定表格的列和每一列的属性。

常见的数据类型有:STRING,INTEGER,BOOLEAN,DATE,TEXT 等。

增、删、改、查

在定义好 Model 之后,就可以通过 Model 实例来进行数据库增删改查操作。以下是一些基本的示例:

增加数据

以上两种方式都可以添加数据到 User 表中。

删除数据

将根据 id 来删除 User 表中的一行数据。

更新数据

将更新有 firstnameJohn 的用户的 age 列。

查询数据

将找到 User 表中所有年龄大于或等于 18 的用户。

总结

以上为 Koa2 中使用 Sequelize 实现 MySQL 连接和数据库操作的方法和示例。Sequelize 是一款强大且易于使用的 ORM 库,可以在 Node.js 后端开发中大幅度简化与 MySQL 数据库的交互。对前端开发者而言,熟练使用 Sequelize 可以将前后端开发无缝对接,开发出更加高效的 Web 应用程序。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652fe28b7d4982a6eb11cb04


纠错
反馈