当数据库返回null时,SimpleJDBCTemplate.queryForInt会返回0。

5

SimpleJDBCTemplate.queryForInt在SQL查询的实际结果为空时会做什么?

特别是,如果我运行queryForInt("select max(foo) from f")f没有行,会发生什么?

顺便提一下,如果我运行queryForInt("select foo from f")f没有行,会发生什么?

1个回答

5
如果查询返回null,queryForInt方法将返回0。但是,如果查询返回零行或多行,queryForInt将抛出IncorrectResultSizeDataAccessException异常。

来源


谢谢。最终我在查询中使用了 coalesce 函数,以确保查询始终返回一个合理的默认值,而不是让我的客户端使用 0。 - Ken Bloom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接