mybatis报错解决办法 :Result Maps collection does not contain value for java.lang.String

错误

    java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.String
    	at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:888)
    	at org.apache.ibatis.session.Configuration.getResultMap(Configuration.java:640)
    	at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:344)
    	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.buildAllStatements(Configuration.java:788)
    	at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:758)
    	at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:753)
    	at org.apache.ibatis.binding.MapperMethod$SqlCommand.resolveMappedStatement(MapperMethod.java:249)
    	at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:219)
    	at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:49)
    	at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
    	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
    	at com.sun.proxy.$Proxy120.selectByPrimaryKey(Unknown Source)

问题分析

1,该问题一定是mybatis的xml配置中出错了。至于是哪里,嗯…,mybatis并不能精确定位。
2,我遇到的情况是“这个Mapper和那个Mapper”都有这个问题。
3,因 resultMap=“java.lang.String” 引起 Result Maps collection does not contain value for java.lang.String

解决办法

1,检查所有xml配置文件中的 "resultMap"是否配置正确。
2,较为快速的办法,检查近期xml配置文件的修改部分。(无法精确定位问题。不要以为某个Mapper调用出错,错误就在该Mapper的xml配置文件中。)
3,具体到本次问题:resultMap=“java.lang.String” 改为 resultType=“java.lang.String”

类似问题

1,Parameter Maps collection does not contain value for 。
检查所有xml配置文件中的 "parameterMap"是否配置正确。

参考

https://github.com/mybatis/mybatis-3/issues/684
https://blog.csdn.net/zengdeqing2012/article/details/50978682

  • 19
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值