본문 바로가기

IT 서비스 바라보기/Programming

JDBC - PreparedStatement , DBConnectionPool



 

1.PreparedStatement 클래스

Stetement 클래스의 업그레이드가 PreparedStatement 클래스라 보면 될 것이다.
Stetement 클래스에서 insert문을 수행한다고 보자..(예로 3개의 문장)

String query1 = "insert문";
String query2 = "insert문";
String query3 = "insert문";

이렇게 선언을 해서 사용할 것이다...
이런 불필요한 SQL문의 낭비를 막기 위해 사용하는 것이 PreparedStatement 클래스이다..

String query="INSERT INTO student (no,name,major)  VALUES (?,?,?)";
PreparedStatement pst=connection.prepareStatement(query);
pstmt.setInt(1,20011);
pstmt.setString(2,"이름");
pstmt.setString(3,"전공");
int colNum=pstmt.executeUpdate();

........

다음처럼 사용을 할 수 있다.. 비슷한 SQL문의 실행시 다음과 같은 문장을 사용할 수 있다.

2.Database Connection Pool

DB을 사용한 프로그램에서 가장 중요한 것이 있다면 빠른 속도가 아닌가 생각한다.
어떤 프로그램에서 로그인 하는데 1분이상 걸리는 경우도 경험했다. PC의 환경도 작용하긴 하지만
DB의 설계를 얼만큼 잘 했느냐?, 프로그램은 효율적으로 코딩했는냐? 등의 생각을 해본다
지금 설명하는 것이 위의 이유때문에 존재하는 방법이다.

Database Connection Pool은 DB 접속시 필요할 때마다 접속하는 것이 아니라, 미리 연결 객체를 만들어 놓은 후에 사용자가 필요시 그 객체를 내어주고, 사용이 끝나면 반납받는 원리로 작동하는 방법이다.