我需要查询DB的最大值为1列 我正在尝试这样做
public static long getLastJobSeqNum(){
return jdbcTemplate.queryForObject("SELECT max(JOBIQ) as JOBIQ FROM JOBS_RUN_STAT", long.class);
}
并且即使我知道db上有1行,我也得到了nullpointer错误。似乎不是查询最大值的保存方法
如何正确制作?
答案 0 :(得分:1)
问题是Spring尝试将装箱成一个长原语。因此,如果您没有元素,则JOBIQ
也将为null。最初创建的空Long
不能取消装箱,而不会导致空指针。您可以使用Long.class
作为第二个参数,并将整个方法调用包装在Optional.ofNullable(<jdbcCall>).orElse(<fallbackvalue>)