低代码平台做到"拖拽生成页面"已经不新鲜了,但把建表、Maven 模块、前后端代码、菜单权限一口气全甩给 AI——这步子迈得够大。JeecgBoot 最新推出的 jeecg-codegen AI Skill,直接在 Claude Code 里接收一句业务描述,然后从数据库表结构到 Vue3 页面全自动吐出来,开发者只需要验收成果。
下面拆开看它怎么跑、产出什么、以及上手时要注意的坑。
从一句话到全套代码,中间发生了什么
核心流程可以简化成四步:
- 需求解析——Claude Code 收到你的自然语言描述,拆出实体字段、关系、业务语义。
- 表结构生成——输出建表 SQL(含字段类型、长度、注释、索引),并自动执行到目标数据库。
- 工程骨架生成——创建 Maven 子模块,按 JeecgBoot 的分层约定生成 Entity、Mapper、Service、Controller。
- 前端 + 权限生成——输出 Vue3 页面(列表、表单、详情),同时生成菜单权限 SQL,插入后台权限体系。
整个过程不需要手动建目录、写模板、配路由——AI Skill 把 JeecgBoot 的代码规范内化成了生成策略。
实战:在 Claude Code 里跑一次完整生成
前提是你已经装好 Claude Code CLI,并且 JeecgBoot 项目已拉到本地。下面直接演示一个"员工培训管理"模块的生成。
第一步:安装 jeecg-codegen AI Skill
在 Claude Code 的项目目录下,添加 Skill 配置:
# 进入 JeecgBoot 项目根目录
cd ~/projects/jeecgboot
# 在 Claude Code 中加载 jeecg-codegen skill
claude skill add jeecg-codegen
如果你的 Claude Code 版本不支持
skill add,可以手动把 Skill 的 Markdown 规则文件放到.claude/skills/目录下,Claude Code 启动时会自动加载。
第二步:一句话描述需求
在 Claude Code 的交互窗口里直接输入:
帮我生成一个"员工培训管理"模块,包含培训课程表(课程名称、培训类型、讲师、开始时间、结束时间、状态)和培训记录表(关联课程ID、员工姓名、完成进度、评分),支持课程列表页、记录列表页,菜单挂在"人力资源"下。
Claude Code 会基于 Skill 规则,逐步输出以下内容——你可以逐段确认或调整。
第三步:验收生成产物
AI 会依次吐出这些文件,你只需要检查关键逻辑:
建表 SQL(自动执行)
-- 培训课程表
CREATE TABLE biz_training_course (
id VARCHAR(36) PRIMARY KEY COMMENT '主键',
course_name VARCHAR(200) NOT NULL COMMENT '课程名称',
train_type VARCHAR(50) COMMENT '培训类型',
teacher VARCHAR(100) COMMENT '讲师',
start_time DATETIME COMMENT '开始时间',
end_time DATETIME COMMENT '结束时间',
status VARCHAR(20) DEFAULT '0' COMMENT '状态(0未开始/1进行中/2已完成)',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME COMMENT '创建时间',
update_by VARCHAR(50) COMMENT '更新人',
update_time DATETIME COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训课程';
-- 培训记录表
CREATE TABLE biz_training_record (
id VARCHAR(36) PRIMARY KEY COMMENT '主键',
course_id VARCHAR(36) NOT NULL COMMENT '关联课程ID',
emp_name VARCHAR(100) NOT NULL COMMENT '员工姓名',
progress INT DEFAULT 0 COMMENT '完成进度(%)',
score DECIMAL(5,2) COMMENT '评分',
create_by VARCHAR(50) COMMENT '创建人',
create_time DATETIME COMMENT '创建时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='培训记录';
后端 Java——Entity 示例
@Data
@TableName("biz_training_course")
public class TrainingCourse {
@TableId(type = IdType.ASSIGN_UUID)
private String id;
private String courseName;
private String trainType;
private String teacher;
private LocalDateTime startTime;
private LocalDateTime endTime;
private String status;
private String createBy;
private LocalDateTime createTime;
private String updateBy;
private LocalDateTime updateTime;
}
Mapper、Service、Controller 均按 JeecgBoot 标准分层生成,包含增删改查 + 导入导出接口,不需要手写。
前端 Vue3——列表页核心片段
<template>
<!-- 培训课程列表页,JeecgBoot 标准列表模板 -->
<BasicTable @register="registerTable">
<template #tableAction>
<a-button type="primary" @click="handleAdd">新增课程</a-button>
</template>
</BasicTable>
</template>
<script setup lang="ts">
import { BasicTable, useTable } from '/@/components/Table';
import { columns, searchFormSchema } from './course.data';
import { list, deleteById } from './course.api';
const [registerTable, { reload }] = useTable({
columns,
formConfig: { schemas: searchFormSchema },
api: list,
rowKey: 'id',
});
</script>
菜单权限 SQL
-- 菜单:人力资源 > 培训课程
INSERT INTO sys_permission (id, parent_id, name, url, component, menu_type, sort_no)
VALUES ('train_course_menu', 'hr_parent_id', '培训课程', '/hr/training/course',
'hr/training/CourseList', 1, 1);
-- 菜单:人力资源 > 培训记录
INSERT INTO sys_permission (id, parent_id, name, url, component, menu_type, sort_no)
VALUES ('train_record_menu', 'hr_parent_id', '培训记录', '/hr/training/record',
'hr/training/RecordList', 1, 2);
到这一步,启动后端、刷新前端,菜单和页面就已经挂上了。
生成结果不是终点——需要人工过检的几个点
AI Skill 把体力活干完了,但以下环节仍然需要开发者把关:
| 检查项 | 为什么不能省 |
|---|---|
| 字段长度与索引 | AI 根据语义猜类型和长度,业务上可能有特殊要求(比如课程名称要 500 字、状态字段需要枚举校验) |
| 关联关系与级联 | 两张表的 course_id 外键约束、删除级联策略,AI 默认不加物理外键,需要按团队规范补 |
| 权限粒度 | 生成的菜单权限是页面级,按钮级权限(如"仅管理员可删除课程")需要手动在 sys_permission 里追加 |
| 前端交互细节 | 列表页是标准模板,如果需要弹窗编辑、拖拽排序、图表统计,需要二次开发 |
| 业务校验逻辑 | Service 层的 save 方法默认只做 CRUD,像"结束时间必须大于开始时间"这类校验要自己加 |
一句话生成解决的是"从 0 到 80%"的骨架搭建,剩下的 20% 是业务灵魂。
上手 Checklist
准备把 jeecg-codegen 用到项目里,建议按这个顺序走:
- 确认 JeecgBoot 版本——V2.0 及以上才支持该 Skill,旧版需要先升级。
- Claude Code 环境就绪——安装 CLI、配置 API Key、确保能访问项目目录。
- 数据库连接可用——Skill 会自动执行建表 SQL,目标库必须连通且有建表权限。
- 先跑一个简单模块试水——比如"字典管理"这种单表模块,验证全链路通畅后再上复杂多表业务。
- 生成后立刻跑一遍启动——前后端启动、菜单可见、列表可查,确认没有编译或路由报错。
- 把 AI 产出纳入 Git——不要手动改完就丢,先 commit 一版 AI 原始产出,再叠上自己的业务改动,方便回溯。
低代码 + AI 的组合,本质上是把"写代码"这件事的前端成本压到最低。JeecgBoot 这步走的方向是对的——不是替代开发者,而是让开发者把时间花在 AI 不会替你想的那些地方。