代码生成器是可以根据预定义的规则、模板或配置自动生成代码。我们可以通过一张表生成对应的 Java 类 以及页面 ,接下来,我们通过示例展示代码生成的过程。

# 1 示例表

添加一张 AI 模型表 ai_model ,表结构如下:

CREATE TABLE `ai_model` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '编号',
  `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '模型名称',
  `model` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '模型标志',
  `platform` varchar(50) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '平台',
  `type` int(11) DEFAULT NULL COMMENT '类型',
  `sort` int(11) DEFAULT NULL COMMENT '排序值',
  `status` int(11) DEFAULT NULL COMMENT '状态',
  `temperature` double DEFAULT NULL COMMENT '温度参数',
  `max_tokens` int(11) DEFAULT NULL COMMENT '单条回复的最大 Token 数量',
  `max_contexts` int(11) DEFAULT NULL COMMENT '上下文的最大 Message 数量',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `creator` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '创建者',
  `updater` varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '更新者',
  `deleted` bit(1) DEFAULT NULL COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='AI模型表';
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

表的设计要点:

  1. 模块信息ai_model 表属于 ai 模块,对应的 Maven 模块是 magic-module-ai
  2. 主键设置id 字段为自增类型 bigint
  3. 字段约束:正确设置每个字段是否允许为空,以便代码生成器生成相应的校验规则。
  4. 系统字段:必须包含 creatorcreate_timeupdaterupdate_timedeleted 字段。

# 2 导入表

[基础设施 -> 代码生成] 菜单,点击 [ 导入] 按钮

![image-20250728211745756](../../../../../../Library/Application Support/typora-user-images/image-20250728211745756.png)

选择目标表 ai_model , 导入后效果见下图:

# 3 编辑配置

我们重点编辑【字段信息】和【生成信息】:

1、字段信息

我们需要适当编辑字段描述,这些描述会作为字段 Label 显示在页面上,同时某些字段并不需要显示在查询条件中,则可以去掉勾选。

2、生成信息

# 4 生成代码

点击【生成代码】按钮,即可导出 zip 文件,解压缩后,

1、Java 代码

2、前端 vue 页面

3、菜单脚本

如图,假如我们指定了【生成信息】里指定了上级菜单,那么生成的 SQL 中 table.parentMenuId 占位符会被替换到。

当我们执行完成后,进入系统管理可以查看 SQL 是否正确执行并刷新缓存 :

上次更新: 2026/6/28