mybatis中查询结果为空时不同返回类型对应返回值问题

网友投稿 490 2023-07-18

mybatis中查询结果为空时不同返回类型对应返回值问题

mybatis中查询结果为空时不同返回类型对应返回值问题

今天在别人的代码基础上实现新需求,看到对于mybatis查询结果的判断不是很正确,如果查询结果为空就会异常,不知道大家有没有这样的疑惑:mybatis中resultType有多种返回类型,对于每种不同类型,查询结果为空时dao接口的返回值是一样的吗?接下来我就总结一下常见的几种情况。

第一种:resultType为基本类型,如string(在此暂且把string归纳为基本类型)

如果select的结果为空,则dao接口返回结果为null

第二种,resultType为基本类型,如intiicRmruXNS

后台报异常:

org.apache.ibatis.binding.BindingException: Mapper method 'com.fkit.dao.xxDao.getUserById attempted to return null from a method with a primitive return type (int).

解释:查询结果为null,试图返回null但是方法定义的返回值是int,null转为int时报错

解决办法:修改select的返回值为String

第三种 resultType为类为map ,如map、hashmap

dao层接口返回值为null

第四种 resultType 为list ,如list

dao层接口返回值为[],即空集合。

注意:此时判断查询是否为空就不能用null做判断

第五种 resultType 为类 ,如com.fkit.pojo.User

dao层接口返回值null

总结

以上所述是给大家介绍的mybatis中查询结果为空时不同返回类型对应返回值问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,会及时回复大家的!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot集成Redisson实现分布式锁的方法示例
下一篇:浅谈为什么要使用mybatis的@param
相关文章

 发表评论

暂时没有评论,来抢沙发吧~