DB/MySQL

[JDBC 프로그래밍 흐름] DB연결 관련 자원반납

ucong 2020. 11. 24. 00:19

DB연결 관련 자원반납

- ResultSet close

- PreparedStatement close

- Connection close 

 

close() 메소드를 알맞게 호출해주지 않을경우 생기는 문제 ( 자원반납 안했을때 생기는 문제)

1) Statement 닫지 않을경우 , 생성된 Statement 개수가 증가하여 더이상 Statement를 생성 불가능
2) close() 하지 않으면 불필요한 자원(네트워크 및 메모리)을 낭비하게 된다.
3)  DBMS에 연결된 새로운 Connection을 생성 불가능

 

일반적으로 finally 에서 close() 처리

try{
    ...
}catch(Exception e){
    ...
}finally{
    if(rs!=null){try{rs.close()}catch(Exception e){}} //ResultSet close
    if(ps!=null){try{ps.close()}}catch(Exception e){}} //PreparedStatement close
    if(con!=null){try{con.close()}}catch(Exception e){}} //Connection close
}