Development/Spring & SpringBoot
[스프링, Spring] JDBC queryForObject의 결과가 없을 때(null) 혹은 결과가 2개 이상일 때 - IncorrectResultSizeDataAccessException
컴공 K
2022. 2. 4. 00:01
Spring JDBC queryForObject의 결과가 없을 때(null) 혹은 2개 이상일 때
스프링 프로젝트에서 JDBC Template의 queryForObject 함수는 오직 하나의 행을 반환한다. 만약 쿼리문의 실행 결과로 행이 없거나 두 개 이상의 행이 있으면 IncorrectResultSizeDataAccessException이 발생한다.
이때, 만일 queryForObject 실행 결과로 행이 없거나 두 개 이상의 행이 있을 때에 대해 예외처리를 해주고 싶다면 아래와 같이 try catch 문을 사용해주면 된다.
try {
JdbcTemplate jdbcTemplate;
String sql = "select user_id from User where name = ?";
return jdbcTemplate.queryForObject(sql, String.class, "유재석");
} catch (IncorrectResultSizeDataAccessException error) { // 쿼리문에 해당하는 결과가 없거나 2개 이상일 때
return null;
}
https://bepoz-study-diary.tistory.com/367
728x90