解决java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.example.

一 、报错信息

二、报错原因

        1.在mapper.xml文件中 将resultType 和resultMap 混淆
        注意:使用resultMap时,必须要有标签指明id和返回类型以及表字段的对应关系。

        如果是直接返回一个用户定义的实体类型,则要使用resultType,弄混淆就会报错。

        2.在mapper.xml文件中 将resultType单词大小写拼错

三、resultType 和resultMap的区别

        ResultType和ResultMap在MyBatis中是两个用于处理查询结果映射的元素,它们的主要区别如下:

  1. 对象:ResultType主要用于处理一对一表连接的情况,通过在主表的pojo中添加嵌套另一个表的pojo,然后在mapper.xml中采用association节点元素进行对另一个表的连接处理。而ResultMap则可以处理查询出来的列名和pojo的属性名不一致的情况,通过定义一个ResultMap对列名和pojo属性名之间作一个映射关系。
  2. 描述:ResultType使用ResultType进行输出映射,只有查询出来的列名和pojo中的属性名一致,该列才可以映射成功。而ResultMap对于一对一表连接的处理方式通常为在主表的pojo中添加嵌套另一个表的pojo,然后在mapper.xml中采用association节点元素进行对另一个表的连接处理。
  3. 类型适用:在MyBatis中,在查询进行select映射的时候,返回类型可以用ResultType,也可以用ResultMap。

        总结来说,ResultType和ResultMap在MyBatis中都用于处理查询结果的映射,但它们的应用场景和功能有所不同。 


四.解决


        1.将resultMap修改为resultType

        2.注意单词大小写的拼写

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值