Dao 에서 담당하던 Connection 생성/ 트랜잭션처리 ==> Service화면에서 하기

Service 화면 
1) jdbc driver등록
2) DB에 접속 (Connection객체 생성)
3) 트랜잭션 처리 

public ArrayList<Member> selectList(){
		Connection conn = getConnection();
		ArrayList<Member> list = new MemberDao().selectList(conn);
		
		close(conn);
		
		return list;
		
}

>> JDBCTemplate에 등록된 Connection생성 메소드 호출,
     Dao에 connection 전달하고, 그결과를 list로 받음 
     자원반납 후(close메소드 호출)  list 값 Controller에 반환 

 

 

반복적으로 쓰이는 Connection생성, commit, rollback, close(자원반납) ==> JDBC Template 화면에 메소드로 정의

JCBC Template 화면 
:공통 템플릿 (매번 반복적으로 작성될 코드를 메소드로 정의해두기)
 (싱글톤패턴 : 최초 한번만 메모리를 할당(Static) 하고 그메모리에 인스턴스를 만들어 사용하는 디자인 패턴)

public static Connection getConnection() {
		Connection conn = null;
		try {
			//jdbc driver 등록 
			Class.forName("oracle.jdbc.driver.OracleDriver");
			//connection 객체 생성 구문 
			conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","JDBC","JDBC");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}

>> Connection 생성구문 메소드 정의 

복사했습니다!