4步将自定义插件接入 mybatis-generator-gui-extension无需了解源码的图形化插件集成指南【免费下载链接】mybatis-generator-gui-extension图形化MBG内置丰富插件,可生成Service、Controller、View配置简单。 A powerful GUI tool for MyBatisGenerator(MBG)项目地址: https://gitcode.com/gh_mirrors/my/mybatis-generator-gui-extensionmybatis-generator-gui-extension 是一款强大的图形化 MyBatis GeneratorMBG工具它在官方生成器的基础上内置了分页、逻辑删除、批量插入、JPA 注解等丰富插件并把所有插件参数以复选框、下拉框、文本框的形式暴露在界面上。很多同学以为给这个工具接入自己的自定义插件必须阅读整个项目源码、改动核心流程其实不然——本文用 4 个简单步骤教你以纯配置式的方式把自定义插件接入 mybatis-generator-gui-extension全程不写一行 GUI 代码。为什么说接入插件无需了解源码项目把配置声明与界面渲染彻底解耦你只需要在 ProjectConfig.java 中声明一个普通属性再贴几个注解剩下的工作控件生成、参数传递、插件启用全部由框架自动完成。这套机制依赖 4 个核心注解全部位于 annotations 目录注解作用Config声明配置的 UI 形态文本框/复选框/下拉框等ExportToTab把配置项挂到指定选项卡ExportToPlugin把配置值传递给指定插件EnablePlugin当配置为真时自动启用插件对应插件的完整类名常量统一维护在 DeclaredPlugins.java 中新增插件时在这里补一个常量即可。第一步声明配置项指定 UI 形态在ProjectConfig类中定义一个StringProperty或BooleanProperty字段并用Config注解指定它在前端显示为什么控件。框架支持 6 种常见控件类型见 ConfigType.javaCheckBox复选框TextField文本框TextArea多行文本ChoiceBox/ComboBox下拉选择CheckableTextField可勾选的输入框FileChooser/DirChooser文件目录选择以是否生成 equals/hashCode为例仅需三行Config(bundle project.generateHashcodeEquals, type ConfigType.CheckBox) public SimpleBooleanProperty generateHashcodeEquals new SimpleBooleanProperty(true);第二步用 ExportToTab 把配置挂到选项卡上一步的配置还藏在后台接下来用ExportToTab指定它显示在哪个选项卡、第几个位置ExportToTab(tabName DOMAIN_OBJECT, index 1)tabName支持基本设置、实体设置、DAO 设置、注释、缓存、MVC 等内置选项卡定义见 Constants.javaindex控制排序。该注解可重复标注一个配置项也能同时出现在多个选项卡中。添加完成后重新启动工具即可在对应界面看到你的配置项。第三步用 ExportToPlugin 把值传给插件这是接入的关键一步让配置的值真正流入你的插件。使用ExportToPlugin指定目标插件全名如果插件需要多个参数可以用key区分ExportToPlugin(plugin DeclaredPlugins.ToStringPlugin) ExportToPlugin(plugin DeclaredPlugins.ToStringPlugin, key useToStringFromRoot)框架在生成代码时会自动读取配置值并以插件参数的形式注入遇到无法识别的类型则调用该配置项的toString()方法取值。也就是说你完全不用改插件内部逻辑只要插件按 MBG 标准声明了属性值就能对号入座。第四步用 EnablePlugin 实现一键启停很多插件是开关型的——勾选才生效。此时只需叠加EnablePlugin当配置值不是null、空字符串或false时指定插件会自动加入生成流程EnablePlugin(DeclaredPlugins.ToStringPlugin) Config(bundle project.generateToString, type ConfigType.CheckBox) public SimpleBooleanProperty generateToString new SimpleBooleanProperty(true);一个完整的例子往往 4 个注解层层叠加效果一目了然ExportToTab(tabName DOMAIN_OBJECT, index 1) EnablePlugin(DeclaredPlugins.EqualsHashCodePlugin) ExportToPlugin(plugin DeclaredPlugins.ToStringPlugin) Config(bundle project.generateHashcodeEquals, type ConfigType.CheckBox) public SimpleBooleanProperty generateHashcodeEquals new SimpleBooleanProperty(true);接入后的三个实用技巧隐藏高级配置给配置项加上AdvancedConfig注解它会在简洁模式下自动隐藏但配置仍然生效让界面保持清爽参考 AdvancedConfig.java。生成前自动校验Config支持testRegex正则校验例如限制编码只能是UTF-8|GBK在生成代码之前框架就会拦截填写错误。配置可复用所有配置最终都会写入工程配置文件支持保存配置 / 加载配置团队之间可以共享同一套插件参数。结语通过ConfigExportToTabExportToPluginEnablePlugin四个注解mybatis-generator-gui-extension 把自定义插件的接入成本降到了声明一个变量的级别无需阅读源码、无需改动 GUI 逻辑。如果想深入了解官方还提供了完整的图文教程 IntegrationOfYourPlugin.md结合 ProjectConfig.java 中的真实示例对照阅读很快就能写出属于你自己的图形化插件配置。动手试试把团队里沉淀的生成插件都点亮到这个 GUI 工具上吧【免费下载链接】mybatis-generator-gui-extension图形化MBG内置丰富插件,可生成Service、Controller、View配置简单。 A powerful GUI tool for MyBatisGenerator(MBG)项目地址: https://gitcode.com/gh_mirrors/my/mybatis-generator-gui-extension创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考