用jdbcTemplate返回1值的正确方法

时间:2019-04-12 19:30:29

标签: spring jdbctemplate

我需要查询DB的最大值为1列 我正在尝试这样做

    public static long getLastJobSeqNum(){

    return jdbcTemplate.queryForObject("SELECT max(JOBIQ) as JOBIQ FROM JOBS_RUN_STAT", long.class);
}

并且即使我知道db上有1行,我也得到了nullpointer错误。似乎不是查询最大值的保存方法

如何正确制作?

1 个答案:

答案 0 :(得分:1)

问题是Spring尝试将装箱成一个长原语。因此,如果您没有元素,则JOBIQ也将为null。最初创建的空Long不能取消装箱,而不会导致空指针。您可以使用Long.class作为第二个参数,并将整个方法调用包装在Optional.ofNullable(<jdbcCall>).orElse(<fallbackvalue>)