Mapper类重载方法,方法名一样,会抛出异常。
1.xml文件方式
xml文件中存在id相同的两个元素,抛出异常:
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for ***
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:872) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:844) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:668) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:302) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118) ~[mybatis-3.4.6.jar:3.4.6]
... 128 common frames omitted
2.注解方式
使用注解方式也会抛出异常:
Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for ***
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:872) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:844) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:668) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:302) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseStatement(MapperAnnotationBuilder.java:351) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(MapperAnnotationBuilder.java:134) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.binding.MapperRegistry.addMapper(MapperRegistry.java:72) ~[mybatis-3.4.6.jar:3.4.6]
at org.apache.ibatis.session.Configuration.addMapper(Configuration.java:741) ~[mybatis-3.4.6.jar:3.4.6]
at org.mybatis.spring.mapper.MapperFactoryBean.checkDaoConfig(MapperFactoryBean.java:80) ~[mybatis-spring-1.3.2.jar:1.3.2]
... 45 common frames omitted
Mapper类中不要有相同的方法名(重载)。
转载于:https://blog.51cto.com/7266799/2286328