mybatis中查询结果为空时不同返回类型对应返回值问题
2019-10-13 18:05
1521 查看
今天在别人的代码基础上实现新需求,看到对于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中查询结果为空时不同返回类型对应返回值问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
您可能感兴趣的文章:
相关文章推荐
- 解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
- Mybatis 查询int类型数据,返回记录条数为0时报错问题解决
- MyBatis的返回参数类型和查询结果遍历
- 问题:如何从hibernate查询时返回List类型结果中取值
- 使用MyBatis查询 返回类型为int,但是当查询结果为空NULL,报异常的解决方法
- mybatis查询,如果返回类型为resultType时,查询不到某些属性值问题
- mybatis框架下select带in批量查询,返回结果集顺序与in不一致问题
- Mybatis中多个参数的问题&&动态SQL&&查询结果与类的对应
- MyBatis 无符合条件的查询结果时返回值问题
- Mybatis中关于如何使用多个参数(类型不同)查询的问题
- Mybatis全部查询遇到的返回类型的小问题
- MyBatis查询语句返回结果类型为HashMap
- mybatis查询返回类型为基础类型,结果为null时的异常解决
- 关于MyBatis中insert返回值与SQLserver触发器/存储过程返回执行结果的问题
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- MyBatis查询结果resultType返回值类型详细介绍
- mybatis查询的返回类型为基础类型(int、long等),但结果为null时的异常解决
- mybatis使用char类型字段查询oracle数据库时结果返回null
- python(30) 获取网页返回的状态码,状态码对应问题查询
- Mybatis一对多返回结果问题