代码生成器是可以根据预定义的规则、模板或配置自动生成代码。我们可以通过一张表生成对应的 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
表的设计要点:
- 模块信息:
ai_model表属于ai模块,对应的 Maven 模块是magic-module-ai。 - 主键设置:
id字段为自增类型bigint。 - 字段约束:正确设置每个字段是否允许为空,以便代码生成器生成相应的校验规则。
- 系统字段:必须包含
creator、create_time、updater、update_time和deleted字段。
# 2 导入表
[基础设施 -> 代码生成] 菜单,点击 [ 导入] 按钮

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

# 3 编辑配置

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

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

# 4 生成代码

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

1、Java 代码

2、前端 vue 页面

3、菜单脚本

如图,假如我们指定了【生成信息】里指定了上级菜单,那么生成的 SQL 中 table.parentMenuId 占位符会被替换到。
当我们执行完成后,进入系统管理可以查看 SQL 是否正确执行并刷新缓存 :

