0
点赞
收藏
分享

微信扫一扫

Egg-TS-Sequelize的使用

Egg 官方文档:​​https://www.eggjs.org/zh-CN/tutorials/sequelize​​

安装依赖

npm install --save egg-sequelize mysql2
  • 在​​config/plugin.js​​​ 中引入​​egg-sequelize​​ 插件
// 开启sequelize
sequelize: {
enable: true,
package: 'egg-sequelize',
}

Egg-TS-Sequelize的使用_mysql

  • 在​​config/config.default.js​​​ 中编写​​sequelize​​ 配置, 可以在不同的环境配置中配置不同的数据源地址,用于区分不同环境使用的数据库,也可以写在 local 文件当中
config.sequelize = {
dialect: 'mysql',
host: '121.5.151.166',
username: 'root',
password: 'yangbuyi123..',
port: 3306,
database: 'it6666',
};

Egg-TS-Sequelize的使用_编写代码_02

如上的配置完毕之后呢,然后就去新建所对应的数据库,创建一个测试表,建表语句如下:

CREATE TABLE `users` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key',
`name` varchar(30) DEFAULT NULL COMMENT 'user name',
`age` int(11) DEFAULT NULL COMMENT 'user age',
`created_at` datetime DEFAULT NULL COMMENT 'created time',
`updated_at` datetime DEFAULT NULL COMMENT 'updated time',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='user';

编写代码

现在终于可以开始编写代码实现业务逻辑了,首先我们来在 app/model/ 目录下编写 user 这个 Model,如果没有 model 文件夹自行创建:

user.ts:

'use strict';

module.exports = (app) => {
const {STRING, INTEGER, DATE} = app.Sequelize;

return app.model.define('user', {
id: {type: INTEGER, primaryKey: true, autoIncrement: true},
name: STRING(30),
age: INTEGER,
created_at: DATE,
updated_at: DATE,
});
};

编写 controller, home.ts:

import {Controller} from 'egg';

export default class HomeController extends Controller {
public async index() {
const {ctx} = this;
ctx.body = await ctx.model.User.findAll();
}
}

在数据库当中自己添加点测试数据,然后访问浏览器:​​http://127.0.0.1:7001/​​

Egg-TS-Sequelize的使用_编写代码_03




举报

相关推荐

0 条评论