MyBatis generator 重新生成 Mapper.xml 重复问题

当数据库中表的结构更改时,需要在项目中重新生成 Mapper,想要用新的 Entity、Mapper.java、Mapper.xml 都覆盖掉,这时会在插件里面配置以下配置:

<configuration>
    <!--配置文件的路径-->
    <configurationFile>src/main/resources/lib/generatorConfig.xml</configurationFile>
    <!-- 覆盖 -->
    <overwrite>true</overwrite>
</configuration>

这个 overwrite 感觉是可以覆盖掉原来的旧文件,其实不然,点击去可以看到说明:

是否覆盖掉指定的 mojo 的 Java 文件。默认为不覆盖。请注意,XML 文件总是被合并的(不覆盖)。

这里解释的已经明白了,就算设置成了 true,也仅仅只是覆盖掉 Java 文件,比如 Entity、Mapper.java,对 Mapper.xml 是无效的。这时就需要另一个插件了:

<context>
  
  ......
  
  <!--覆盖生成XML文件-->
  <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
  
  ......
  
</context>

此插件将生成的 XML 映射器文件标记为不可合并。这将导致生成器覆盖文件,或根据覆盖设置的配置方式以新名称保存文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值