乐于分享
好东西不私藏

Yimi Crud 插件现已全面支持若依(RuoYi)框架

Yimi Crud 插件现已全面支持若依(RuoYi)框架
作为国内最受欢迎的开源权限管理系统,若依(RuoYi)框架凭借其完善的功能和良好的扩展性,已经成为众多企业和开发者的首选。现在,若依开发者可以借助一款 IntelliJ IDEA 插件——Yimi Crud Generator,直接在 IDE 中可视化设计并快速生成符合若依规范的代码。

核心优势

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.vtlbefore_each.vtlbefore_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_MODELdomain/{modelName}.java主实体类
BACKEND_READ_RESULT_DTOdomain/{modelName}Vo.java查询响应 VO
BACKEND_READ_REQUEST_DTOdomain/{modelName}Dto.java查询请求 DTO
BACKEND_MAPPERmapper/{modelName}Mapper.javaMapper 接口
BACKEND_SERVICE_INTERFACEservice/I{modelName}Service.javaService 接口
BACKEND_SERVICE_IMPLservice/impl/{modelName}ServiceImpl.javaService 实现
BACKEND_CONTROLLERcontroller/{modelName}Controller.javaController
BACKEND_MAPPER_XMLmybatis/{module}/{modelName}Mapper.xmlMyBatis 映射文件
BACKEND_MENU_SQLtmp/{module}/{modelName}.menu.sql菜单初始化 SQL

前端代码

模板输出文件说明
FRONTEND_APIsrc/api/{module}/{name}.js/tsAPI 接口文件
FRONTEND_VIEWsrc/views/{module}/{name}/index.vue列表页面
FRONTEND_VIEW_DETAILsrc/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或扁平化参数
子表嵌套支持✅支持逐级嵌套

注意事项

  1. 模板放置位置templates 目录必须放在 IDEA 打开的工作空间根目录

  2. 字典类型配置:在模型设计面板中配置字段的 dictType 属性

  3. 菜单 SQL:生成的菜单 SQL 文件位于 src/main/resources/tmp/ 目录

  4. 字段别名配置:配置字段别名的控件为下拉选框,展示对应类中已存在的可选字段;如需创建新字段,可直接在输入框中输入字段名,按回车键即可创建。

  5. 主键设置:由于无法直接识别若依实体类的主键信息,需在设计面板的模型编辑页面,打开字段编辑手动设置主键,否则部分功能无法正常使用,点击生成代码按钮时也会提醒并中止生成。

  6. 主子表设计说明:工具本身支持为每个字段独立配置加载方式(懒加载或直接查询),但为了适配若依主子表的处理习惯,前端模板默认假设所有子表字段均采用懒加载方式。打开修改弹窗时,通过第二次请求获取子表数据填充表格。


获取方式

  • 插件地址https://plugins.jetbrains.com/plugin/26463

  • 若依配套模板https://gitee.com/uublue/Yimi-RuoYi-Vue(使用 yimi 分支)


总结

这款工具为若依开发者提供了一种全新的代码生成体验:

  1. 效率提升:基于 Java 类一键生成完整 CRUD 代码

  2. 深度集成:完美适配若依三种数据结构模板和字典系统

  3. 灵活性:支持 Vue 2/3、TypeScript、树形结构、多套前端模板等

  4. 安全性:智能代码对比合并,避免覆盖冲突

  5. 可扩展性:高度可定制的模板和变量系统,支持个性化需求

如果正在使用若依框架进行开发,希望提高 CRUD 代码的生成效率,这款工具值得一试。


插件版本:202606.5.10适配框架:若依(RuoYi)Vue 版本 v3.9.2