MyBatis Generator yml 插件:用 yml 取代繁杂的 xml 配置

一个面向 MyBatis 用户的 maven 插件,目前 star 数 124:

正文顶部截图

README区域截图

MyBatis Generator 是 MyBatis 官方提供的代码生成工具,可以根据数据库表结构生成 model、mapper 接口和 xml 文件。它默认使用 xml 配置文件,结构繁琐,新人上手成本不低。

mybatis-generator-yml-maven-plugin 这个项目把 xml 配置换成了 yml,层级关系一目了然,可读性提升明显。

解决什么问题

MyBatis Generator 默认的 generatorConfig.xml 文件比较冗长,数据库连接、生成路径、插件配置都堆在一个 xml 里,节点嵌套多,修改时容易看花眼。

这个插件把所有配置搬进 yml,字段名直观,层级清楚,修改和定位都更方便。

主要功能

支持 yml 配置,简化 xml 的繁琐写法。

集成常用插件,按需开关即可:注释生成、lombok、swagger2、@Mapper 注解、Serializable 接口。

支持三种 targetRuntime:MyBatis3、MyBatis3Simple、MyBatis3DynamicSql。MyBatis3DynamicSql 是官方在 1.4.0 推荐的方式,不生成 xml,查询构造更灵活;MyBatis3 带有 by example 方法,代码偏多;MyBatis3Simple 去掉了 by example,代码更简洁。

可控制是否禁用 example 方法、是否使用 Java8 的 LocalDateTime、mapper 后缀名、java 与 xml 是否同包等细节。

安装使用

Step 1:确认项目是 maven 工程,在 pom.xml 中加入插件声明:

<plugin>
    <groupId>io.github.javthon</groupId>
    <artifactId>mybatis-generator-yml-maven-plugin</artifactId>
    <version>0.0.1</version>
    <configuration>
        <configurationFile>src/main/resources/generatorConfig.yml</configurationFile>
    </configuration>
</plugin>

Step 2:在 resources 目录下新建 generatorConfig.yml,按照下面的模板填写。

Step 3:执行命令:

mvn mybatis-generator-yml:generate

在 Intellij IDEA 的 maven 窗口插件列表中可以双击运行。

配置示例

一个完整的配置如下:

mybatisGenerator:
    datasource:
        type: mysql
        address: localhost:3306
        db: test
        username: root
        password: root

    targetPackage:
        model: com.example.domain
        mapper: com.example.dao
        javaXmlFilesSamePackage: true

    targetRuntime: MyBatis3
    mapperSuffixName: mapper
    java8: false
    disableExample: true

    plugins:
        comment: true
        lombok: false
        swagger: false
        mapperAnnotation: false
        serializable: false

    tables:
        - user
        - role

datasource 配置数据库连接,type 当前支持 mysql 和 sqlserver。

targetPackage 配置生成代码的包路径,javaXmlFilesSamePackage 控制接口与 xml 是否同包。

plugins 节点开启 lombok 后,model 不再生成 setter/getter,依赖需自行引入;开启 swagger 后会加上 @ApiModel、@ApiModelProperty 注解;comment 会在字段上方生成数据库字段注释。

tables 列出需要生成代码的表名。

小结

这是一个改善 MyBatis Generator 使用体验的小工具,让配置回归简洁。适合还在写 generatorConfig.xml、希望降低维护成本的开发者。目前支持的数据库类型有限,未来计划对接更多数据库和插件。

atis Generator 使用体验的小工具,让配置回归简洁。适合还在写 generatorConfig.xml、希望降低维护成本的开发者。目前支持的数据库类型有限,未来计划对接更多数据库和插件。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐