JAVA / SPRING DB CLOSE
스프링을 사용하면 자원 반환이나 생명주기를 스프링이 관리를 해주지만
그렇지 않은 경우 DB 자원을 잘 관리 해야 된다.
매우 오래된 소스를 유지보수 해야 되는 일이 많아서 특히 더 중요하게 느껴짐...
자원을 얻는 순서
Connection --> PreparedStatement --> ResultSet
자원을 닫는 순서
ResultSet --> PreparedStatement --> Connection
따라서 finally 에서 아래와 같이 처리 해줬다.
if(rs != null){ try{ rs.close(); }catch (SQLException e){ e.printStackTrace() } } //psmt 는 PreparedStatement if(psmt != null){ try{ rs.close(); }catch (SQLException e){ e.printStackTrace() } }
if(conn != null){ try{ conn.close(); }catch (SQLException e){ e.printStackTrace() } }
|