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

 更新时间:2019年10月13日 10:53:57   作者:壹佰  
这篇文章主要介绍了mybatis中查询结果为空时不同返回类型对应返回值问题,本文分几种方法给大家介绍的非常详细,需要的朋友可以参考下

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

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

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

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

后台报异常:

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中查询结果为空时不同返回类型对应返回值问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

相关文章

  • Spring依赖注入(DI)两种方式的示例详解

    Spring依赖注入(DI)两种方式的示例详解

    这篇文章主要介绍了Spring依赖注入(DI)的两种方式:setter注入和构造器注入。文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-06-06
  • 使用Java实现5种负载均衡算法实例

    使用Java实现5种负载均衡算法实例

    负载均衡指由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助,这篇文章主要给大家介绍了关于使用Java实现5种负载均衡算法的相关资料,需要的朋友可以参考下
    2021-09-09
  • springBoot自动配置的全过程

    springBoot自动配置的全过程

    这篇文章主要介绍了springBoot自动配置的全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • IDEA2022.1创建maven项目规避idea2022新建maven项目卡死无反应问题

    IDEA2022.1创建maven项目规避idea2022新建maven项目卡死无反应问题

    这篇文章主要介绍了IDEA2022.1创建maven项目规避idea2022新建maven项目卡死无反应问题,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • MyBatisCodeHelperPro最新激活方法(有效方法)

    MyBatisCodeHelperPro最新激活方法(有效方法)

    这篇文章主要介绍了MyBatisCodeHelperPro最新激活方法亲测有效,非常好用,小编今天以idea2021.2.1为例给大家详细讲解,需要的朋友可以参考下
    2022-08-08
  • Java中Spring扩展点详解

    Java中Spring扩展点详解

    这篇文章主要介绍了Java中Spring技巧之扩展点的应用,下文Spring容器的启动流程图展开其内容的相关资料,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • Springboot实现多文件上传代码解析

    Springboot实现多文件上传代码解析

    这篇文章主要介绍了Springboot实现多文件上传代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Spring Boot与Docker部署实践

    Spring Boot与Docker部署实践

    这篇文章主要介绍了Spring Boot与Docker部署实践,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 浅谈java的守护线程与非守护线程

    浅谈java的守护线程与非守护线程

    这篇文章主要介绍了浅谈java的守护线程与非守护线程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 使用注解解决ShardingJdbc不支持复杂SQL方法

    使用注解解决ShardingJdbc不支持复杂SQL方法

    这篇文章主要为大家介绍了使用注解解决ShardingJdbc不支持复杂SQL方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论