자바에서 데이터베이스 접속할 수 있도록 하는 자바 API이다.
JDBC를 사용함으로써 데이터베이스에서 자료를 쿼리(Query-DB에 정보를 요청)하거나 업데이트 할 수 있다.
순수 jdbc
로 데이터베이스에 접근을 하면, 데이터베이스에 접근할 때마다 connection
을 맺고 끊는 작업을 한다. 이 connection
을 맺고 끊는 작업을 줄이기 위해 미리connection
을 생성해 두고, 데이터베이스에 접근하고자 하는 사용자에게 미리 생성된 connection
을 제공하고 돌려받는다. 이 connection들을 모아두는 장소를 connection pool
이라 하며
Datasource
는java
에서connection pool
을 지원하기 위한 인터페이스이다.
public int ex() { /
int cnt = 0;
try {
String sql = "select * from exdata";
conn = ds.getConnection();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
} catch (Exception e) {
System.out.println(e.getMessage());
} finally {
try {
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
return cnt;
}
⚠️ 이때 주의할 점은 사용하는 SQL문에 따라서 rs가 메소드가 달라진다.
select
일때는 executeQuery()
를 사용하고
insert
,update
,delete
를 사용할땐 executeUpdate()
를 사용한다.
⚠️ ResultSet
, Statement
, Connection
객체들의 Close
: JDBC API를 통해 사용된 객체들은 생성된 객체들을 사용한 순서의 역순
으로 Close 한다.
Connection
객체를 미리 생성하여 보관하고 애플리케이션이 필요할 때 꺼내서 사용할 수 있도록 관리해 주는 것이 Connection Pool
이다.
좋은 글 잘봤습니다~!