我试图使用Spring JDBCTemplate从我的mysql数据库表中获取值的总和。
当表中没有特定查询的任何相关数据时,我得到一个空指针异常。这是我的代码;
try {
String sql = "SELECT SUM(paid_value) FROM all_delay_payments_breakdown WHERE customer_order_id = '"+customerOrderId+"' AND installment_no = '"+i+"'";
partialTot = getSimpleJdbcTemplate().queryForObject(sql, Double.class);
tot = tot + partialTot ;
} catch (Exception e) {
System.out.println("Exception: While calculation partial tot for customer order id :"+customerOrderId+" and instlmnt nmbr : "+i+" = "+e);
}
我需要检查查询返回的值,然后如果它为null,则将0添加到tot
,否则将查询执行返回的值添加到变量tot
。
但是我无法检查此代码段后返回的值是否为null。
partialTot = getSimpleJdbcTemplate().queryForObject(sql, Double.class);
如果返回的值为null,则代码将不会前进。(由于查询执行代码抛出空指针异常,因此执行直接进入该catch
子句)
那我该怎么做呢?我正在寻找这样的东西
if(partialTot == null ){
tot = tot + 0;
}else{
tot = tot+ partialTot;
}
谢谢!
您可以使用coalesce
,0
如果sum
返回,它将返回null
:
select coalesce(sum(paid_value), 0) from <...>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句