- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
- Caused by: java.lang.IllegalArgu
在使用mybatis的时候遇到这个问题
报错信息
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.itheima.dao.IUserDao.findAll
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:872)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:844)
at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:668)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:302)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseStatement(MapperAnnotationBuilder.java:351)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:134)
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72)
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:741)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.bindMapperForNamespace(XMLMapperBuilder.java:413)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:94)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:373)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:119)
... 4 more
在网上查询到出现问题的原因是
在xml中存在id冲突
在xml中配置了sql语句 同时又在java中以注解的形式查询了一次
究其根本是其存储是以kv形式存储的上述两种问题都会导致k相同
参考地址:https://www.jianshu.com/p/32d7c4101931
于是我用全局搜索了findAll这个id 果然这个id在xml和注解同时存在了,因为注解文件是上个项目copy过来了,所以没有注意到。


网友评论