[Java]JDBC를 이용해 Oracle DB와 연동하기

seeun·2021년 8월 9일
0

Java

목록 보기
3/3
post-thumbnail

참고자료

🌷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단계

  • DB 실행 중이어야 함

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();
}
profile
🤹‍♂️개발 기록 노트

0개의 댓글