一、问题
- 我原本通过反向生成插件生成mapper和实体类那些文件后,想测试一下能否成功执行里面的sql操作,结果报错了,发现是生成的mapper文件中存在重复的resultMap
二、解决办法一(未奏效)
- 最开始看的是这位博主的解决方案,但是经过测试之后都有问题,下面记录一下问题
1.在generatorConfig.xml的table标签里面通过catalog指定数据库表,随后通过反向插件生成的mapper文件中确实不存在重复的resultMap了,但是会导致sql语句出错,见下图;
2.在generatorConfig.xml的table标签里面通过schema指定数据库表,生成的mapper文件中resultMap依然重复

三、最终的解决办法
- 最终有效的解决办法是在generatorConfig.xml的<context>标签下加上下面这段代码
<!--生成mapper.xml时覆盖原文件-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
- 使用反向插件的版本是1.3.7,我在用1.3.5版本的时候还是有问题
<!--反向生成插件-->
<plugin>
<groupId>org.mybatis.generator</groupId>

本文介绍了在使用MyBatis反向生成插件时遇到mapper文件中resultMap重复的问题,以及尝试通过修改generatorConfig.xml配置(如catalog、schema)解决问题未果的过程。最终提供了一个有效解决方案,即在<context>标签下添加特定代码,并指出该方法适用于反向插件1.3.7版本,而在1.3.5版本中可能无效。
最低0.47元/天 解锁文章
1127





