Programing/Spring

JDBC / JNDI / DBCP

BeomJun.Kwon 2022. 3. 3. 17:35

 

JDBC / JNDI / DBCP

 

 

 

JDBC : 데이터베이스 커넥션 인터페이스

DBCP : DB커넥션을 어플리케이션 소스 내에서 제어하면서 DB Pool 가짐

JNDI : DB커넥션을 WAS단에서 제어하면서 서버에서 하나의 Connection Pool 가짐

 

 

 

DBCP

 - Database Connection Pool 의 약자이다. 요청이 올때마다 Connection 객체를 얻는 것이 아닌, 미리 일정 갯수 찍어내서 Connection Pool 로 관리

  • WAS가 실행되면서 미리 일정량의 DB Connection 객체를 생성하고 Pool 이라는 공간에 저장해 둠
  • HTTP 요청에 따라 필요할 때 Pool에서 Connection 객체를 가져다 쓰고 반환

 

 

JDBC 로딩 순서

  1. 드라이버 객체화 : Class.forName("oracle.jdbc.driver.OracleDriver");
  2. DB와 연결 : Connection con = DriverManager.getConnection();
  3. 실행도구 생성 (sql문을 실행시키기위한 Statement 객체 얻어오기) : Statement stmt = con.createStatement();
  4. SQL문 실행 : stmt.execute(sql);
  5. DB연결 종료 : .close();

 

 

DBCP 로딩 순서

  1. DB 서버 접속을 위해 JDBC 드라이버를 로드
  2. DB 접속 정보와 DriverManager.getConnection() Method를 통해 DB Connection 객체를 얻음
  3. Connection 객체로 부터 쿼리를 수행하기 위한 PreparedStatement 객체를 받음
  4. executeQuery를 수행하여 그 결과로 ResultSet 객체를 받아서 데이터를 처리
  5. 처리가 완료되면 처리에 사용된 리소스들을 close하여 반환

 

 

JNDI 로딩

 

 

 

 

 

 

 

 

 

 

 

 

 

'Programing > Spring' 카테고리의 다른 글

web.xml  (0) 2022.03.04
Eclipse Tomcat Project 작동 순서  (0) 2022.03.04
JdbcTemplate / NamedParameterJdbcTemplate  (0) 2022.03.03
Spring Basic  (0) 2022.03.03
Junit  (0) 2022.02.24