开发环境:jdk1.8 springcloud mybatis mysql
执行查询方法出现如下错误:
Caused by: org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.lang.Integer
at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:346)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109)
at org.apache.ibatis.session.Configuration.lambda$buildAllStatements$2(Configuration.java:787)
at java.util.Collection.removeIf(Collection.java:414)
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:786)
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:763)
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:758)
at org.apache.ibatis.binding.MapperMethod$SqlCommand.resolveMappedStatement(MapperMethod.java:254)
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:224)
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:50)
at org.apache.ibatis.binding.MapperProxy.lambda$cachedMapperMethod$0(MapperProxy.java:62)
at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:62)
at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:57)
at com.sun.proxy.$Proxy179.selectRmRegionByCondtion(Unknown Source)
at com.zjs.route.basic.service.impl.RmRegionServiceImpl.selectRmRegionByCondtion(RmRegionServiceImpl.java:55)
... 77 common frames omitted
Caused by: java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.Integer
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:933)
at org.apache.ibatis.session.Configuration.getResultMap(Configuration.java:645)
at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:344)
... 93 common frames omitted
根据提示说是resultMap里面值写成了java.lang.Integer,对着执行方法看了半天也没看出问题,因为实际执行的方法如下:
<select id="selectRmRegionByPK" resultMap="BaseResultMap" parameterType="java.lang.String" >
确实没问题啊!!!!!!!! 瞎搞了半天还是不行!
最后想是不是其他方法里将resultMap里面值写成了java.lang.Integer ?? 果真有个 方法写错了!尼玛o(╥﹏╥)o
改正确后,执行成功!
最后总结:被提示误导了,以为是当前方法导致的问题,其实不是,以后再出现这种问题,将全部方法都检查一遍!