JDBC
자바 / JSP 프로그램 내에서 데이터베이스와 관련된 작업을 처리할 수 있도록 도와주는 자바 표준 인터페이스
DBMS의 종류에 상관없이 데이터베이스 작업을 처리
*JDBC를 사용한 JSP와 데이터베이스의 연동 순서*
(1) java.sql.* 패키지 임포트
(2) JDBC 드라이버 로딩
(3) 데이터베이스 접속을 위한 Connection 객체 생성
(4) 쿼리문을 실행하기 위한 Statement/PreparedStatement/CallableStatement 객체 생성
(5) 쿼리 실행
(6) 쿼리 실행의 결과 값 사용
(7) 사용된 객체 종료
JDBC 드라이버 로딩 및 DBMS 접속
1) JDBC 드라이버 로딩
드라이버 인터페이스를 구현하는 작업으로 class.forName() 메소드를 이용하여 JDBC 드라이버 로딩
- class.forName(String className);
- <init-param> 요소에 드라이버 이름을 설정
2) Connection 객체 생성
JDBC 드라이버에서 데이터베이스와 연결된 커넥션을 가져오기 위해 DriverManager클래스의 getConnection() 메소드를 사용
3) 데이터베이스 연결 닫기
- close() 메소드로 생성한 Connection() 객체 해제
- 데이터베이스 리소스를 사용하지 않기 위해 사용을 끝내자마자 리소스를 해제하는 것이 좋음
void close() throws SQLExepction
데이터베이스 쿼리 실행
1) Statement
- 정적인 쿼리에 사용
- 하나의 쿼리를 사용하고나면 더는 사용할 수 없다.
- 하나의 쿼리를 끝내면 close()를 사용하여 객체를 즉시 해제
why? 즉시 해제하지 않으면 무시할 수 없는 공간이 필요하며 페이지가 다른 작업을 수행하는 동안 멈추지 않음
Statement 객체의 메소드 종류
- executeQuery(String sql) : select문 실행할 때 사용
ResultSet executeQuery(String sql) throws SQLException
- executeUpdate(String sql) : 삽입, 수정, 삭제
ResultSet executeUpdate(String sql) throws SQLException
- close(): : Statement 객체 반환
2) PreparedStatement
- 동적인 쿼리에 사용
- 하나의 객체로 여러 번의 쿼리를 실행
- 동일한 쿼리문을 특정값만 바꿔서 여러 번 실행해야할 때, 매개변수가 많아서 쿼리문을 정리해야할 때 유용
PreparedStatement 객체의 메소드 종류
- executeQuery() : select문 실행할 때 사용
ResultSet executeQuery() throws SQLException
- executeUpdate() : 삽입, 수정, 삭제
ResultSet executeUpdate() throws SQLException
- close(): : PreparedStatement 객체 반환
쿼리문 실행 결과 값 가져오기
[statement]
ResultSet executeQuery(String sql) throws SQLException
[preparedstatement]
ResultSet executeQuery() throws SQLException
ResultSet 객체의 메소드 종류
메소드 |
반환유형 |
설명 |
getXxx(int ColumnIndex) |
XXX |
설정한 ColumnIndex의 필드 값을 설정한 XXX 형으로 가져옴 |
getXxx(String ColumnName) |
XXX |
설정한 ColumnName의 필드 값을 설정한 XXX 형으로 가져옴 |
absolute(int row) |
boolean |
설정한 row행으로 커서 이동 |
befroeFirst() |
void |
첫 번째 행의 이전으로 커서를 이동 |
afterLast() |
void |
마지막 행의 다음으로 커서를 이동 |
first() |
void |
첫 번째 행으로 커서를 이동 |
last() |
void |
마지막 행으로 커서를 이동 |
next() |
boolean |
다음 행으로 커서를 이동 |
previous() |
boolean |
현재 행의 이전 행으로 커서를 이동 |
close(): |
void |
ResultSet 객체를 반환할 때 사용 |
'7. 교재 > 7_3 쉽게 배우는 JSP 웹 프로그래밍' 카테고리의 다른 글
[쉽게 배우는 JSP 웹 프로그래밍] 10. 세션 (0) | 2020.02.06 |
---|---|
[쉽게 배우는 JSP 웹 프로그래밍] 09. 다국어 처리 (2) | 2020.02.06 |
[쉽게 배우는 JSP 웹 프로그래밍] 08. 유효성 검사(Validation) (0) | 2020.02.06 |
[쉽게 배우는 JSP 웹 프로그래밍] 07. 파일 업로드 (0) | 2020.02.06 |
[쉽게 배우는 JSP 웹 프로그래밍] 06. 폼 태그 (3) | 2020.02.06 |