代码如下:
这是不可以的,会报错:
2016-08-18 11:36:00,267 [main] ERROR [org.mybatis.spring.mapper.MapperFactoryBean] - Error while adding the mapper 'interface com.unix21.mapper.UserMapper' to configuration.
java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.unix21.mapper.UserMapper.findById
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:837)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:809)
at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:633)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:302)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parseStatement(MapperAnnotationBuilder.java:325)
at org.apache.ibatis.builder.annotation.MapperAnnotationBuilder.parse(M

本文探讨了在Spring中使用MyBatis注解时遇到的方法重载问题。当尝试重载注解方法时,会导致错误,因为MyBatis的内部机制在`Configuration.addMappedStatement`步骤中使用了`StrictMap`,该映射器不允许相同的键。通过逐步调试,揭示了错误源于`StrictMap`的put方法,其在添加映射语句时进行了键的唯一性检查,导致第二次添加相同键时抛出异常。
最低0.47元/天 解锁文章
1073

被折叠的 条评论
为什么被折叠?



