使用jdbcTemplate返回1值的正确方法

问题描述 投票:0回答:1

我需要查询数据库的最大值为1列我正试图这样做

    public static long getLastJobSeqNum(){

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

我得到一个nullpointer错误,即使我知道db上有一行;看起来它不是查询最大值的保存方式

如何使它正常?

spring jdbctemplate
1个回答
1
投票

问题是Spring试图将unbox打包成一个长基元。因此,如果你没有元素,JOBIQ也将为null。最初创建的null Long无法在不引起空指针的情况下取消装箱。您可以使用Long.class作为第二个参数,并将整个方法调用包装在Optional.ofNullable(<jdbcCall>).orElse(<fallbackvalue>)

© www.soinside.com 2019 - 2024. All rights reserved.