mybatis报错:Result Maps collection does not contain value for

作者在接手项目时遇到MyBatis映射问题,发现原项目中使用resultType时依赖于包名+类名,而数据库结构调整后需改为resultMap。通过对比和调整,解决了空值返回和报错问题,关键在于正确处理resultMap中的类名引用。
摘要由CSDN通过智能技术生成

 题目省流版:检查一下resultMap中是否直接写的引用类名,而不是包+类名

--------------------------------------------

最近在接手一个别人写的项目后端,在他写的项目基础上进行添加和修改一些基本功能,因为所需要用的数据库与他之前的数据库有一些出入,所以需要进行一些修改,也踩了很多坑,为了防止自己再掉进坑里,所以记录一下,因为感觉这些错误看出来就挺不容易犯的,但就是找不太好找。

---------------------------------------------

首先是mybatis中明明有数据,但是返回到实体类中的属性值就是null;这个就是映射没有弄好,就算上面resultMap都有写好,也要看一下数据库返回值的类型用的是不是resultMap而不是resultType

问题起因是他原来的数据库表中用的column名字和他实体类的名字是一样的,所以使用resultType从根路径.到具体类中是可以的,但是由于我的数据库中和他数据库的column名是不同的,同样对应到实体类中就不同,所以就会出现这个问题,然后我就将通篇的resultType修改为了resultMap

----------------------------------------------

紧接上文

在我修改了resultMap之后,这回直接连空值都不给我返回了,直接进行一整个报错的大动作,

直接报错标题Result Maps collection does not contain value for

然后看了这篇文章说查看一下近期修改的部分,还有可以把resultMap改为resultType,我想,那不对啊,这我刚改过来的,结果就对比我之前用resultMap的项目发现我是原来在resultMap上直接写的实体类名字,而他在用resultType上面写的是包点上实体类,然后我直接把所在包删去,直接引用类名就可以了!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值