前言
在前端开发中,我们经常需要和数据库打交道。而 Sequelize 是一款 Node.js 中的 ORM 框架,可以方便地操作数据库,提高开发效率。而 Egg.js 是一款基于 Koa 的 Node.js 框架,也是一款非常流行的后端框架。本文将介绍 Sequelize 在 Egg.js 中的应用实践,包括如何配置和使用 Sequelize,以及一些实际案例。
安装和配置 Sequelize
在 Egg.js 中使用 Sequelize 需要先安装相应的依赖包。可以使用 npm 或 yarn 安装:
npm install --save egg-sequelize sequelize mysql2
或
yarn add egg-sequelize sequelize mysql2
安装完成后,需要在 Egg.js 的配置文件中进行配置。在 config/config.default.js 文件中添加以下配置:
config.sequelize = { dialect: 'mysql', // 数据库类型 host: 'localhost', // 数据库地址 port: 3306, // 数据库端口号 username: 'root', // 数据库用户名 password: '123456', // 数据库密码 database: 'test', // 数据库名称 };
使用 Sequelize
定义模型
在 Sequelize 中,每个表都对应一个模型。我们可以通过定义模型来操作数据库。在 Egg.js 中,可以在 app/model 目录下新建一个 js 文件,然后定义模型。以下是一个例子:
-- -------------------- ---- ------- -------------- - ----- -- - ----- - ------- -------- ---- - - -------------- ----- ---- - ------------------------ - --- - ----- -------- ----------- ----- -------------- ---- -- ----- ----------- ---- -------- ----------- ----- ----------- ----- --- ------ ----- --
其中,app.model.define 方法接收两个参数,第一个参数是模型名称,第二个参数是模型定义。模型定义中包含表中的字段以及字段类型。在这个例子中,我们定义了一个名为 user 的模型,包含 id、name、age、created_at 和 updated_at 五个字段。
常用操作
查询数据
Sequelize 提供了多种方式来查询数据。以下是一些常用的方式:
-- -------------------- ---- ------- -- ------ ----- ----- - ----- ------------------------- -- -------- ----- ----- - ----- ------------------------ ------ - ---- --- -- --- -- ------ ----- ---- - ----- ------------------------ ------ - --- -- -- --- -- ------ ----- ----- - ----- -------------------------------- ------ --- ------- -- --- -- ------- ----- ----- - ----- ------------------------ ------ -------- --------- ---
插入数据
const user = await app.model.User.create({ name: '小明', age: 18, });
更新数据
-- -------------------- ---- ------- ----- ---- - ----- ---------------------- - ----- ----- -- - ------ - --- -- -- - --
删除数据
const user = await app.model.User.destroy({ where: { id: 1, }, });
示例代码
以下是一个完整的示例代码,包括定义模型和常用操作:
-- -------------------- ---- ------- -- ----------------- -------------- - ----- -- - ----- - ------- -------- ---- - - -------------- ----- ---- - ------------------------ - --- - ----- -------- ----------- ----- -------------- ---- -- ----- ----------- ---- -------- ----------- ----- ----------- ----- --- ------ ----- -- -- ---------------------- ----- ---------- - -------------------------- ----- -------------- ------- ---------- - ----- ------- - ----- - --- - - ----- ----- ----- - ----- ------------------------- -------- - ------ - ----- ------ - ----- - --- - - ----- ----- ---- - ----- ------------------------ ------ - --- -------------- -- --- -------- - ----- - ----- -------- - ----- - --- - - ----- ----- ---- - ----- ---------------------------------------- -------- - ----- - ----- -------- - ----- - --- - - ----- ----- ---- - ----- ---------------------- ----------------- - ------ - --- -------------- -- - -- -------- - ----- - ----- --------- - ----- - --- - - ----- ----- ---- - ----- ------------------------ ------ - --- -------------- -- --- -------- - ----- - - -------------- - --------------- -- ------------- -------------- - ----- -- - ----- - ------- ---------- - - ---- -------------------- ----------------------- ------------------------ ---------------------- --------------------- ------------------------ ------------------------ ------------------------ --------------------------- ------------------------- --
总结
本文介绍了 Sequelize 在 Egg.js 中的应用实践,包括安装和配置 Sequelize,以及定义模型和常用操作。Sequelize 可以方便地操作数据库,提高开发效率。在 Egg.js 中使用 Sequelize,可以快速地搭建一个后端系统。希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65880931eb4cecbf2dd37253