MyBatis反向插件生成的mapper中有重复resultMap的解决办法

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题

  • 我原本通过反向生成插件生成mapper和实体类那些文件后,想测试一下能否成功执行里面的sql操作,结果报错了,发现是生成的mapper文件中存在重复的resultMap

二、解决办法一(未奏效)

MyBatis Generator生成重复xml/Mapper对象解决方案_树洞-优快云博客

  • 最开始看的是这位博主的解决方案,但是经过测试之后都有问题,下面记录一下问题

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>
              
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值