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 생성구문 메소드 정의
'JDBC' 카테고리의 다른 글
JDBC 05_ mvc _JDBC _ Properties, 동적 코딩 (0) | 2022.12.06 |
---|---|
JDBC 03 _ mvc 패턴 이용한 JDBC_Prepared Statement (0) | 2022.12.05 |
JDBC 02 _ mvc 패턴 이용한 JDBC Statement(2) (0) | 2022.12.01 |
JDBC 02 _ mvc 패턴 이용한 JDBC Statement(1) (0) | 2022.12.01 |
JDBC 01 _ delete문 (0) | 2022.11.30 |