zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    tkinter 进度条
    tkinter 提示符
    python 将字符串转换为字典
    pycurl实例详解
    pyAudio介绍
    Spyer中添加一些常用包的方法
    对机器学习与数据竞赛的一些总结(转)
    教你如何在机器学习竞赛中更胜一筹
    CXF:通过WebService上传文件,包括大文件的处理
    firefox中flash经常崩溃
  • 原文地址:https://www.cnblogs.com/xxjcai/p/11664315.html
Copyright © 2011-2022 走看看