QueryForObject 의 Null 처리 방법
QueryForObject 의 Null 처리 방법
try {
// 일단 null이 떨어지면
result = (String) this.getJdbcTemplate().queryForObject(strSql, new Object[] { deptCode }, String.class);
} catch (DataAccessException e) {
if (e instanceof IncorrectResultSizeDataAccessException) {
// Exception 의 이유가 queryforobjcet의 리턴값이 없어서 이면
result="";
String errorCode = PrivilegeErrorCode.ERR_DBERROR;
log.fatal(handler.getMessage(errorCode, new String[] { e.getMessage()}), e);
}else{
String errorCode = PrivilegeErrorCode.ERR_DBERROR;
log.fatal(handler.getMessage(errorCode, new String[] { e.getMessage()}), e);
throw new DBErrorException(errorCode, handler.getMessage(errorCode, new String[] { e.getMessage()}));
}
}
현재의 쿼리 strSql이 Null이라고 가정했을때..
catch에서 db Exception 을 잡아서 만약 db에서 가져온 값이 0개 일때 떨어지는 exception 이라면 추후 확인을 위해
로그에 에러 메세지는 뿌려주되 exception을 throw하지 않고 ""(blank)를 return 한다.