解决Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgument

本文介绍了解决MyBatis中因重复resultMap导致的java.lang.IllegalArgumentException异常的方法。主要通过更改resultMap的ID或者移除多余的resultMap来解决此问题。文章还提到了逆向工程时需要注意的问题。

运行项目出现:Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgument

Exception: Result Maps collection already contains value for st.personal.dao.CollectMapper.BaseResultMap

解决方法就是:

1.把resultMap换个id名

2.如果1没办法解决问题,那你就得看看你的mapper,可能出现了2个resultMapper了,删除一个就好了。


我是用逆向工程生成的,竟然生成了2个resultMap.

最后我发现是我执行了2次逆向工程,结果mapper文件把2次的结果都放在一起了,并没有覆盖之前的内容。所以才出现:Caused by: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException:

所以下次逆向工程前记得把之前的mapper文件给删除了。

Why:为什么我执行2次逆向工程,mapper文件没有把内容覆盖,但dao层和entity实体类却没有出现重复呢?

可能是我的逆向工程的配置文件设置有误吧。

做事记得细心点。

我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灰太狼_cxh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值