使用MyBatis查询,返回类型为int,但是当查询结果为空null,出现异常
如代码中xml文件查询语句
<select id="getGenerateStatus" resultType="java.lang.Integer"> select is_generating from report_info where task_id = #{taskId} </select>当未查询到任何数据返回null时,程序报错
[2020-07-02 19:16:39.496][http-nio-3100-exec-2][ERROR] [com.xxx.exception.ExceptionHandlers:43] 发生空指针异常!原因是: java.lang.NullPointerException: null在mysql中可以使用IFNULL函数和MAX函数,将返回的NULL值转换为0 SQL语句可修改为:
<select id="getGenerateStatus" resultType="java.lang.Integer"> select IFNULL(MAX(is_generating),0) as is_generating from report_info where task_id = #{taskId} </select>sum也可以使用max函数代替