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',
}
- 在
config/config.default.js
中编写sequelize
配置, 可以在不同的环境配置中配置不同的数据源地址,用于区分不同环境使用的数据库,也可以写在 local 文件当中
config.sequelize = {
dialect: 'mysql',
host: '121.5.151.166',
username: 'root',
password: 'yangbuyi123..',
port: 3306,
database: 'it6666',
};
如上的配置完毕之后呢,然后就去新建所对应的数据库,创建一个测试表,建表语句如下:
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/
标签:
TS+Egg+Vue管理系统
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具