核心优势
1. 基于 Java 类生成代码
与传统的数据库表驱动方式不同,这款工具直接从 Java 实体类出发:
// 示例实体类public class SysUser extends BaseEntity {private Long userId;private String userName;private String nickName;private String email;// ...}
操作入口:右键实体类 → Generate CRUD
2. 深度集成若依生态
针对若依框架的特点,工具提供了专属模板支持,并通过预处理脚本实现与若依的兼容:
三种数据结构模板
| 模板类型 | 适用场景 | 支持方式 |
|---|---|---|
| 单表 | 简单业务数据 | 基础 CRUD 操作 |
| 树表 | 层级数据结构 | 通过配置递归嵌套信息实现 |
| 主子表 | 一对多关系 | 通过外键关联实现 |
树表支持:对于组织结构、分类目录等层级数据,只需在主实体的选出字段嵌套配置中设置递归字段(如 `parentId` 表示父节点ID,`children` 表示子节点集合),即可生成支持树形展示的前端代码和实现递归查询逻辑的后端代码。

主子表支持:通过在子表中添加指向主实体的外键关联,支持配置多个子表。主表采用集合类型嵌套子表数据,实现级联操作。


字典系统支持
<dict-tag :options="sys_user_sex" :value="scope.row.sex"/><dict-tag :options="sys_normal_disable" :value="scope.row.status"/>
兼容实现:通过预处理脚本(before_all.vtl、before_each.vtl、before_render_all.vtl),将插件的变量系统转换为若依模板所需的格式,实现无缝集成。
3. 支持多种技术栈
| Vue 版本 | TypeScript | 支持状态 |
|---|---|---|
| Vue 2 | - | ✅ |
| Vue 3 | 否 | ✅ |
| Vue 3 | 是 | ✅ |
4. 可视化设计面板
设计窗口分为两大面板:

功能设计面板(四个子页):
| 子页 | 功能 |
|---|---|
| 查询 | 多表关联、字段选择、条件配置、树形数据支持 |
| 新增 | 表单字段配置、控件类型选择 |
| 修改 | 表单字段配置、控件类型选择 |
| 删除 | 删除配置 |
文件定位配置面板:
目录树展示所有即将生成的文件
支持调整文件路径

5. 智能生成预览与合并
点击生成后:
新文件:批量勾选保存
已存在文件:自动对比新旧代码,可视化合并

6. 高度可定制的模板与变量系统
这是该工具的一大特色,支持深度定制:
多套前端模板支持
工具支持提前准备多套前端模板,一套后端代码可对应多套前端实现。例如:
管理后台:基于 Element Plus 的完整管理界面
移动端 APP:轻量级的移动端适配界面
小程序:专门针对小程序平台优化的代码
生成代码前,只需选择对应的前端模板即可。

自定义模板
在项目根目录下创建 templates 目录,放置自定义的 Velocity 模板并进行配置。
路径变量
支持 __basePackage__、__modelName__、__kebabCaseName__ 等变量。
模板启用条件
通过 Groovy 表达式配置模板的启用条件。
自定义变量
支持在配置文件中定义自定义变量,变量类型包括 Object、FieldList、Primitive 三种,可配置变量依赖关系。这些自定义变量可以在模板中使用,实现更灵活的代码生成逻辑。



更多可能:当前对若依原生功能的支持只是起点,开发者可以根据自己的需求,自定义模板和变量,实现更个性化的代码生成。例如:
根据团队编码规范定制专属模板
集成公司内部的 UI 组件库
生成符合特定业务场景的代码结构
为不同项目类型(如 SaaS 产品、内部系统、对外 API)准备专属模板
生成能力
后端代码
| 模板 | 输出文件 | 说明 |
|---|---|---|
BACKEND_MODEL | domain/{modelName}.java | 主实体类 |
BACKEND_READ_RESULT_DTO | domain/{modelName}Vo.java | 查询响应 VO |
BACKEND_READ_REQUEST_DTO | domain/{modelName}Dto.java | 查询请求 DTO |
BACKEND_MAPPER | mapper/{modelName}Mapper.java | Mapper 接口 |
BACKEND_SERVICE_INTERFACE | service/I{modelName}Service.java | Service 接口 |
BACKEND_SERVICE_IMPL | service/impl/{modelName}ServiceImpl.java | Service 实现 |
BACKEND_CONTROLLER | controller/{modelName}Controller.java | Controller |
BACKEND_MAPPER_XML | mybatis/{module}/{modelName}Mapper.xml | MyBatis 映射文件 |
BACKEND_MENU_SQL | tmp/{module}/{modelName}.menu.sql | 菜单初始化 SQL |
前端代码
| 模板 | 输出文件 | 说明 |
|---|---|---|
FRONTEND_API | src/api/{module}/{name}.js/ts | API 接口文件 |
FRONTEND_VIEW | src/views/{module}/{name}/index.vue | 列表页面 |
FRONTEND_VIEW_DETAIL | src/views/{module}/{name}/view.vue | 详情页面 |
使用流程
1. 在 IDEA 插件市场安装 Yimi Crud for MyBatis2. 将 templates 目录放置到项目根目录3. 右键实体类 → Generate CRUD4. 在设计面板配置查询、新增、修改、删除功能5. 在文件定位面板调整生成路径6. 点击生成,预览并保存代码
与若依原生代码生成器对比
| 特性 | 若依原生 | Yimi Crud |
|---|---|---|
| 数据源 | 数据库表 | Java 类 |
| 可视化设计 | ❌ | ✅ |
| Vue 3 + TS | ✅ | ✅ |
| 字段级控件配置 | ✅ | ✅已兼容 |
| 文件对比合并 | ❌ | ✅(借助 IDEA) |
| 树形结构支持 | ✅ | ✅ |
| 级联操作支持 | ✅ | ✅ |
| 多套前端模板 | ❌ | ✅ |
| 灵活的请求/响应模型 | ❌ | ✅可选择DTO或扁平化参数 |
| 子表嵌套支持 | ❌ | ✅支持逐级嵌套 |
注意事项
模板放置位置:
templates目录必须放在 IDEA 打开的工作空间根目录字典类型配置:在模型设计面板中配置字段的
dictType属性菜单 SQL:生成的菜单 SQL 文件位于
src/main/resources/tmp/目录字段别名配置:配置字段别名的控件为下拉选框,展示对应类中已存在的可选字段;如需创建新字段,可直接在输入框中输入字段名,按回车键即可创建。
主键设置:由于无法直接识别若依实体类的主键信息,需在设计面板的模型编辑页面,打开字段编辑手动设置主键,否则部分功能无法正常使用,点击生成代码按钮时也会提醒并中止生成。
主子表设计说明:工具本身支持为每个字段独立配置加载方式(懒加载或直接查询),但为了适配若依主子表的处理习惯,前端模板默认假设所有子表字段均采用懒加载方式。打开修改弹窗时,通过第二次请求获取子表数据填充表格。

获取方式
插件地址:https://plugins.jetbrains.com/plugin/26463
若依配套模板:https://gitee.com/uublue/Yimi-RuoYi-Vue(使用
yimi分支)
总结
这款工具为若依开发者提供了一种全新的代码生成体验:
效率提升:基于 Java 类一键生成完整 CRUD 代码
深度集成:完美适配若依三种数据结构模板和字典系统
灵活性:支持 Vue 2/3、TypeScript、树形结构、多套前端模板等
安全性:智能代码对比合并,避免覆盖冲突
可扩展性:高度可定制的模板和变量系统,支持个性化需求
如果正在使用若依框架进行开发,希望提高 CRUD 代码的生成效率,这款工具值得一试。
插件版本:202606.5.10适配框架:若依(RuoYi)Vue 版本 v3.9.2
夜雨聆风