JDBC
: 자바에서 데이터 베이스에 접근할 수 있게 해주는 Programming API
JDBC 사용 클래스
1. Driver Manager
: 데이터 원본에 JDBC 드라이버를 통해여 커넥션을 만드는 역할
class.forName() 메소드를 통해 생성
반드시 예외 처리 할 것
getConnection()메소드를 사용하여 인스턴스 생성 가능
2. Connection
: 특정 데이터 원본과 연결 된 커넥션을 나타냄
Statement 인스턴스를 생성할 때 Connection 인스턴스를 사용하여 createStatement() 메소드를 호출하여 생성
SQL 문장을 실행시키기 전에 우선적으로 Connection 인스턴스가 있어야함.
3. Statement
: Connection 클래스의 createStatement() 메소드를 호출하여 얻어지며 생성 된
Statement 인스턴스로 SQL 질의문을 String에 담아 인자로 전달하여 executeQuery() 메소드 호출 하여 SQL 질의 수행
ex) try {
String query = "SELECT ID, LAST_NAME FROM EMP";
stmt = conn.createStatement();
rest = stmt.executeQuery(query);
} catch (SQLException e) {
e.printStackTrace();
}
4. PreparedStatement
: Connection 클래스의 prepareStatement()메소드를 사용하여 인스턴스 생성
SQL 질의문을 위치홀더(placeholder)인 ?로 표현되는 String으로 정의
PreparedStatement는 위치홀더라는 개념에 해당되는 인수가 많아서 특정 값만 바꾸어
여러 번 실행해야 할 때 사용하면 유용함
(Statement는 SQL문장을 매번 컴파일 하지만 PreparedStatement는 한번만 컴파일 하므로 실행 속도가 빠름)
ttry {
String query = "INSERT INTO MEMBER VALUES(?,?)";
pstmt = conn.preparedStatement(query);
pstmt.setString(1, id); //index 1번의 ?값에 id를 넣겠다.
pstmt.setString(2, password); // index 2번의 ?값에 password를 넣겠다
} catch (SQLException e) {
e.printStackTrace();
}
5. ResultSet
: SELECT문을 사용한 질의 성공 시 ResultSet을 반환
SQL 질의문에 의해 생성 된 테이블을 담고 있으며 커서(cursor)로 특정 행에 대한 참조 조작
'프로그래밍 > JDBC' 카테고리의 다른 글
04 JDBC : Service 사용 (0) | 2022.08.29 |
---|---|
03 JDBC : PreparedStatement 를 사용하여 insert, update, delete 구문 수행하기 (0) | 2022.08.29 |
02 JDBC : Statement 와 PreparedStatement로 QURY 불러오기(SELECT) (0) | 2022.08.26 |