참고자료
🌷JDBC란?
- Java DataBase Connectivity
- 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.
🌷Oracle DB와 연동하기
- JDBC API는 표준 API이므로 각 벤더사 별(oracle, mysql 등) dirver를 세팅해주어야 한다. (프린터와 컴퓨터를 연결하여 사용하고자 할 때 프린터 드라이버를 설치하는 것과 같음)
- driver는 db 사용을 쉽게 하기 위해 각 벤더사들이 접속 등의 로직을 완벽하게 구현해서 제공해 준다.
- db연동 개발자는 환경 구축 후에 단순 호출만으로 db 접속, sql실행이 가능하다.
🍀Oracle driver 개발 환경에 세팅하기
C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
oracle 11xe 버전인 경우 위 경로에 ojdbc6.jar 파일이 있다.
여기서 [Java Build Path] - [Add External JARs]를 클릭하여 ojdbc6.jar 파일을 user_lib에 추가해준다.
프로젝트를 보면 기존에 없던 Referenced Libraries 가 추가되어 있고 JDBC 드라이버가 들어가 있는 것을 볼 수 있다.
🌷개발단계
1단계
2단계
- driver manager로 부터 db접속 요청 및 접속 객체 생성
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:xe", "id", "password")
- ip와 db종류는 db 벤더사가 제공해주는 표현법 사용
- 1521 : 동일한 시스템(ip가 동일)에 동일한 벤더사 db가 여러개 설치가 가능한데, 각 db 구분을 위한 port 번호이다.(jdbc api로 oracle db에 접속 가능하게 해주는 port 번호)
3단계
- sql문장 실행 가능한 객체 생성, Oracle db에 접속된 Connection 객체로 부터 획득 따라서 oracle db와 소통 가능한 문장 객체
Statement stmt = con.createStatement();
4단계
- sql문장 실행(기능 수행=메소드 호출)
ResultSet rset = stmt.executeQuery("select * from dept");
5단계
6단계
- 자원반환(close)
- 자원반환 순서 - ResultSet -> Statement -> Connection 순
try {
if(rset != null) {
rset.close();
rset = null;
}
if(stmt != null) {
stmt.close();
stmt = null;
}
if(con != null) {
con.close();
con = null;
}
} catch (SQLException e) {
e.printStackTrace();
}