Java MyBatis 查询 SQL 返回 int 为 Null 如何处理?

Java MyBatis 查询 SQL 返回 int 为 Null 如何处理?

Java查询sql时返回intNULL的处理

当使用mybatis查询sql语句时,如果期望返回一个int值,但实际返回了一个null值,会导致异常。

以下给出两种可能的解决方案:

  1. 修改返回值类型

将查询方法的返回值类型从int修改为Integer,这样即使数据库中没有数据也不会抛出异常。在业务代码中,可以检查返回的integer值是否为null,将其转换为0或其他默认值。

立即学习Java免费学习笔记(深入)”;

@select("select max(id) from user") integer maxid();
  1. 使用数据库函数

sql语句中使用数据库函数,如ifnull或coalesce,来处理null值。例如:

@Select("SELECT max(id) FROM user") @Options(resultType = int.class, useGeneratedKeys = true) int maxIdWithJdbc();

sql语句中使用ifnull(max(id), 0)表达式,这样如果没有数据,将返回0,而不是null值。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享