Java 我可以在这个用例中使用NamedJdbcTemplate吗?
我创建了一个名为calculate的方法,该方法使用带有select count*的查询,如果count等于90,则返回一个布尔值 我是否可以将namedJdbcTemplate.update调用包装在if语句中,以检查count的值,如下所示? 我收到一个错误,说明我无法在namedJdbcTemplate上使用update方法: 有没有更好的方法来检查查询是否像这样返回90Java 我可以在这个用例中使用NamedJdbcTemplate吗?,java,sql,jdbc,Java,Sql,Jdbc,我创建了一个名为calculate的方法,该方法使用带有select count*的查询,如果count等于90,则返回一个布尔值 我是否可以将namedJdbcTemplate.update调用包装在if语句中,以检查count的值,如下所示? 我收到一个错误,说明我无法在namedJdbcTemplate上使用update方法: 有没有更好的方法来检查查询是否像这样返回90 if(namedJdbcTemplate.update(CALCULATE_QUERY, paramMap) == 9
if(namedJdbcTemplate.update(CALCULATE_QUERY, paramMap) == 90)
将查询更改为返回布尔值,如下所示:
final String CALCULATE_QUERY ="SELECT COUNT(*) = 90 FROM MYTABLE WHERE CUST_UID = :customerId )";
然后可以使用queryForObject方法:
SQL不喜欢=90,因为它破坏了查询
private NamedParameterJdbcTemplate namedJdbcTemplate;
public Assessment process(Assessment assessment) throws Exception {
if (calculate(assessment) == true){
return assessment;
}else{
return null;
}
}
public boolean calculate(Assessment assessment){
final String CALCULATE_QUERY ="SELECT COUNT(*) FROM " +
"(SELECT BAL_AS_OF_DT FROM MYTABLE " +
"WHERE CUST_UID = :customerId )";
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("customerId", assessment.getCustUid());
try{
if(namedJdbcTemplate.update(CALCULATE_QUERY, paramMap) == 90){
return true;
}
}catch (Exception e){
log.error(e.toString());
}
return false;
}
final String CALCULATE_QUERY ="SELECT COUNT(*) = 90 FROM MYTABLE WHERE CUST_UID = :customerId )";
return namedJdbcTemplate.queryForObject(CALCULATE_QUERY, paramMap, Boolean.class);