MyBatis - Mapped Statements collection already contains value for...

简介: MyBatis - Mapped Statements collection already contains value for...

Mybatis开发过程中经常遇到Mapped Statements collection already contains value for xxx 这种错误。字面意思是说mapper中存在id重复的值,比如说同一个xml文件中有两个id为xxx的方法。这种经常是copy已有代码的时候忘了改id导致的。不过,mybatis出现这种错误时,可能实际重复的id并不是它报出来的那个,碰到这种问题就比较纠结了。

下面我把自己碰到过的两种情况和大家分享,两种情况报错信息都为

java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for xxx...

情况1

就是方法id重复了,但不一定是xxx重复,而有可能是yyy。所以最好是把新旧代码做个diff,看看都加了哪些方法,逐个去排查。

情况2

方法参数写错了或者没写。比如resultType="UserVO"写成了resultType="User"。这种情况一般是最近删除了什么bean或者重命名了什么bean而xml对应的参数类型没有修改而导致的。同样的,mybatis并不一定能准确地指出是哪个方法错误,需要逐个排查,最好是好好回忆一下自己动了哪些bean,才好快速定位。

目录
相关文章
|
6月前
|
Java 数据库连接 mybatis
【Mybatis用法】Mybatis框架中一对一,一对多association和collection的使用举例方法
【Mybatis用法】Mybatis框架中一对一,一对多association和collection的使用举例方法
51 0
|
1月前
|
XML Java 数据库连接
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
mybatis报错:java.lang.IllegalArgumentException: Mapped Statements collection does not contain
15 0
|
3月前
|
SQL Java 数据库连接
mybatis 中 foreach collection的常用用法
mybatis 中 foreach collection的常用用法
68 1
|
4月前
|
SQL IDE Java
MyBatis【问题 01】mapper传入array\collection\list类型的参数时报BindingException:Parameter ‘xx‘ not found问题复现及解决
MyBatis【问题 01】mapper传入array\collection\list类型的参数时报BindingException:Parameter ‘xx‘ not found问题复现及解决
55 0
|
10月前
|
Java 数据库连接 mybatis
mybatis关于出现Parameter ‘XXX‘ not found. Available parameters are [collection, list]问题的解决方案
mybatis关于出现Parameter ‘XXX‘ not found. Available parameters are [collection, list]问题的解决方案
422 0
|
5月前
|
Java 数据库连接 mybatis
mybatis中的association和collection
mybatis中的association和collection
29 0
|
5月前
|
SQL Java 数据库连接
Mybatis使用collection标签实现一对多关联查询,返回结果集list中嵌套list
Mybatis使用collection标签实现一对多关联查询,返回结果集list中嵌套list
150 0
|
5月前
|
Java 数据库连接 mybatis
Mybatis中对象映射关联之collection使用
Mybatis中对象映射关联之collection使用
69 0
|
1月前
|
SQL Java 数据库连接
挺详细的spring+springmvc+mybatis配置整合|含源代码
挺详细的spring+springmvc+mybatis配置整合|含源代码
42 1