美文网首页
Caused by: java.lang.IllegalArgu

Caused by: java.lang.IllegalArgu

作者: 吃伏冒有礼貌 | 来源:发表于2020-01-17 17:12 被阅读0次

在使用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过来了,所以没有注意到。

注解 xml

相关文章

网友评论

      本文标题:Caused by: java.lang.IllegalArgu

      本文链接:https://www.haomeiwen.com/subject/bvxhzctx.html