例如:

  <select id="getPersonRecordId" parameterType="java.lang.String" resultType="int">select role_idfrom p_person_rolewhere stffe_id = #{stffeId,jdbcType=VARCHAR}</select>

当记录不存在时会报以下错误

Servlet.service() for servlet [springDispatcherServlet] in context with path [/xxxx] threw exception [Request processing failed;
nested exception is org.apache.ibatis.binding.BindingException: Mapper method 'com.xxx.PersonRoleRelationMapper.getPersonRecordno attempted to return null from a method with a primitive return type (int).]
with root cause org.apache.ibatis.binding.BindingException: Mapper method 'com.xxx.PPersonRoleRelationMapper.getPersonRecordno attempted to return null from a method with a primitive return type (int).

若遇到该问题,可使用MySQL的IFNULL函数和MAX函数,将返回的NULL值转换为0。例如,可将上述SQL语句改为:

select IFFULL(MAX(role_id),0) AS role_id  from  p_person_role where  stffe_id = #{stffeId,jdbcType=VARCHAR}

在SQLSERVER中我们可以这样写:
select ISNULL(max(data),0) ...


在Oracle中我们可以这样写:
select NVL(max(data),0) ...


对于所有数据库适用的方法可以这样写:
select COALESCE(max(data),0) ...


当然以上max也可以用sum函数代替。

MyBatis查询返回类型为int,查询结果为空NULL,报异常解决相关推荐

  1. Java中使用MultipartFile类型接收前端上传的文件过大报异常解决

    问题:在使用MultipartFile类型上传文件时,发现上传的文件过大会报异常,异常信息如下: org.apache.tomcat.util.http.fileupload.impl.SizeLim ...

  2. Mybatis xml映射文件错误,导致Tomcat无法启动,也不报异常

    在做的项目,有时候tomcat启动会陷入死循环,一直在启动中,无法结束,自然也不会报异常. 查了一下网上的资料,需要自己重写一下SqlSessionFactoryBean中的buildSqlSessi ...

  3. php 查询返回数组长度,php查询数组长度的方法

    php查询数组长度的方法 发布时间:2020-08-11 09:53:44 来源:亿速云 阅读:97 作者:小新 这篇文章给大家分享的是有关php查询数组长度的方法的内容.小编觉得挺实用的,因此分享给 ...

  4. jpa 原生sql 查询返回一个实体_JPA查询--使用原生sql 并且把查询结果转为实体对象...

    这篇文章主要记录 使用原生sql查询 并且把查询结果转为实体对象, 注意:这儿使用的数据库 是oracle数据库 这儿记录了三种查询:精确查询,模糊查询,分页查询. 1.把原生sql查询的结果转为实体 ...

  5. oracle统计查询返回数量,统计Oracle 查询事务数的方法

    大家好!AningDBA又和大家见面了,今天朋友问我一个问题,把我给问住了,问题听起来很简单,就是查询"每天的事务数". 听到这个问题,大家的第一反映,我相信大部分人会和我一样,首 ...

  6. java 数据库查询Date类型字段 没有了时分秒 全为 00 的解决办法

    当取出这个值的时候只能用java.sql.Date而且只能显示年月日,我想知道如何才能显示时分秒   PS:不改变用getdate()存入的前提下! 解决方法:将getDate()方法改为getTim ...

  7. JPA查询单个字段和多个字段返回类型总结

    在使用springboot中,需要使用JPQL和SQL去查询记录. 获取一整条记录,返回的类型就是对应的实体类或者实体类的集合. 当不是全部字段时,返回类型就不能是实体类了. 以下是用JPQL和SQL ...

  8. JdbcTemplate(操作数据库-查询返回值)

    目录 JdbcTemplate(操作数据库-查询返回值) 1.创建数据库 2.创建实体类 3.创建dao层 4.创建service层 5.创建测试类: 6.xml配置 7.测试结果: 8.结构示意: ...

  9. mysql int和bigdecimal,mysql的 int 类型,刨析返回类型为BigDicemal 类型的奇怪现象

    用的是Map,List>接收, sql语句中int类型的值做了聚合运算, 满足上述两个条件. java中去取value的值就会变成BigDecimal 类型 经过实测:mybatis 中的sql ...

最新文章

  1. UE5和Blender中的完整场景环境创建学习教程
  2. python 网络编程_Python网络编程(六)
  3. mysql查询补丁更新_OS:服务器系统补丁及数据库补丁更新说明
  4. 织梦 css里的图片标签,织梦{dede:field.body /}中用CSS的expression参数控制图片大小
  5. 使用FFmpeg从视频中截图的命令
  6. runtime官方文档
  7. C++远航之封装篇——对象指针、this指针
  8. Java常量设计与常量池
  9. java mongodb 副本集,MongoDB副本集
  10. 2台mysql集群_如何安装配置基于2台服务器的MySQL集群
  11. python的设计哲学_Python的设计哲学
  12. Win10激活 及 图标整理
  13. 借助终端软件,有效统一移动互联网和物联网
  14. Photoshop软件介绍
  15. 自己写的一点福利代码(一)
  16. Mac 上的 iOS App 可用性(IOS APP availability on Mac)
  17. 2017_SIGIR_Item Silk Road: Recommending Items from Information Domains to Social Users
  18. .md文件中插入本地图片并显示图片预览
  19. JavaScript 可能问到的零星知识点
  20. [软件渲染器入门]六-应用纹理、背面剔除以及一些WebGL相关

热门文章

  1. oracle数据库dca,有关Oracle数据库
  2. C++程序如何执行cmd命令;如何对cmd命令执行计时;如何一行执行多条cmd命令;
  3. new和delete创建和销毁二维数组
  4. pytorch1.4+tensorboard不显示graph计算图的问题
  5. 花书+吴恩达深度学习(十三)卷积神经网络 CNN 之运算过程(前向传播、反向传播)
  6. 01背包、完全背包、多重背包问题的C++实现及路径记录
  7. 梯度下降法and实战
  8. 雕虫晓技(十) Android超简单气泡效果
  9. 130分的计算机专科学校排名及分数线,2021专科学校排名及分数线是多少
  10. 成绩查询数据结构c语言,学生成绩管理系统(数据结构c语言版源代码)09169.pdf