解决mybatis generator无法覆盖XML
今天发现mybatis generator maven plugin在重复生成的时候xml文件只会merge,不会覆盖。
明明在pom.xml中配置了如下:
<configuration> <configurationFile>src/main/resources/mybatis/generatorConfig.xml</configurationFile> <verbose>true</verbose> <overwrite>true</overwrite> </configuration>
去github上查找与overwrite相关的issue,找到了这个提交。
上面的意思是:当你取消了所有注释,你在重复运行generator时在mapper.xml中会出现重复的元素。并且这个plugin可以解决这个问题,版本是1.3.7
去查看generatorConfiguration,确实配置了取消生成注释。
<!-- 配置生成器 --> <generatorConfiguration> <properties resource="mybatis/jdbc.properties"/> <context id="MyBatis" targetRuntime="MyBatis3" defaultModelType="flat"> <!-- 不生成注释 --> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> ... ... <generatorConfiguration>
那怎么既想取消注释又想覆盖XML文件生成呢?答案就是上面说的使用UnmergeableXmlMappersPlugin
在<context>下增加一个<plugin>
<!-- 配置生成器 --> <generatorConfiguration> <properties resource="mybatis/jdbc.properties"/> <context id="MyBatis" targetRuntime="MyBatis3" defaultModelType="flat"> <!--覆盖生成XML文件--> <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" /> <!-- 不生成注释 --> <commentGenerator> <property name="suppressAllComments" value="true"/> </commentGenerator> ... ... <generatorConfiguration>
GitHub地址:https://github.com/syoukaihou/sbsm
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架