2017년 1월 12일 목요일

[자바교육/스프링교육/스프링프레임워크/스프링부트학원추천_탑크리에듀]JDBC 코드와 Spring

실제 비지니스로직부분(이부분만 다르다) 


public insertPerson(Person person) throws SQLException { 
  Connection con = null; 
  PrepareStatement stmt = null; 
  
  try { 
        con = dataSource.getConnection(); 
        .................. 
        실제 비지니스로직부분(이부분만 다르다) 
        ..................        
        stmt.executeUpdate(); 
  }catch(SQLException e) { 
  } 
  finally { 
      try { if((stmt != null) stmt.close(); } 
      catch(SQLException e) {LOGGER.warn(e);} 
      try { if((con != null) con.close(); } 
      catch(SQLException e) {LOGGER.warn(e);}      
  } 



- 개발자가 모든 것을 처리해야 한다. (데이터베이스 자원 관리, 예외처리) 
- 반복적이고 공통적인 부분에 대한 방대한 양의 코딩이 생긴다. 
- 퍼시스턴스 계층은 Connection 생성, PreparedStatement 생성, SQLException 처리와 같이 중복적으로 구현해야 하는 소스 코드가 너무 많다. 또한 하나의 SQL문을 만들기 위하여 StringBuffer를 사용하는 과정은 상당히 귀찮은 작업이다. 

그렇다면 Spring에서는... 


Spring 프레임워크는 JDBC를 추상화한 API를 새롭게 제공하고 있다. 이것이 Spring 프레임워크가 제공하고 있는 Spring JDBC이다. Spring JDBC는 기존의 JDBC를 추상화하고 있는 만큼 지금까지 개발자들이 직접 구현해 왔던 Connection 생성, PreparedStatement 생성, SQLException 처리와 같은 반복적인 작업들을 프레임워크가 담당하고 있다. 

댓글 없음:

댓글 쓰기