JDBC (JAVA DataBase Connectivity)
- Driver를 통해 자바와 DB를 연결하여 작업할 수 있게 해주는 것.
- JDBC는 자바 표준 인터페이스. ==> JDBC API를 사용.
- JDBC는 자바와 데이터베이스 간의 중계 역할
JDBC의 주요 인터페이스
- java.sql.Driver : 데이터베이스에서 사용되는 드라이버 인터페이스.
- java.sql.Connection : 데이터베이스 연결 정보를 가지고 있는 인터페이스.
- java.sql.preparedStatement : statement 인터페이스의 서브 인터페이스. DB에 SQL문을 전송해주는 인터페이스.
- java.sql.ResultSet : DB의 실행 결과를 가지고 오는 인터페이스.
오라클 DB를 JAVA와 연결하는 방법
1. 물리적인 드라이버 설치
- JDBC 라이브러리를 이용한 DB에 연결하기 위해서는 해당 DB 프로그램의 기능을 수행하는 외부 라이브러리 파일을 프로젝트에 추가해 줘야 함.
- 오라클 드라이버 파일 (C:\app\컴퓨터이름\product\18.0.0\dbhomeXE\jdbc\lib) 폴더 안에 있는 ojdbc8.jar 파일을 프로젝트에 포함시켜 줘야 함.
(java 프로젝트 폴더 우클릭 -> configure biuld path -> libraries 에서 추가.)
**Oracle : oracle.jdbc.driver.OracleDriver
**MySQL : com.mysql.jdbc.Driver
2. JDBC URL
- DB를 구분하기 위해 URL 형식을 취함.
*오라클 URL ==> jdbc:oracle:thin:@host주소:port번호:DB식별자(SID)
**오라클 드라이버에는 thin 드라이버와 oci 드라이버가 있다.
- thin 드라이버는 자바 언어로만 구현된 jdbc 드라이버로 jdk만 설치되어 있으면 어디든지 사용가능.
- oci 드라이버는 모듈을 설치해 주어야 사용 가능.
3. 드라이버 로딩
- 프로젝트에 포함된 라이브러리를 바탕으로 해당 오라클 드라이버를 메모리에 업로드 시켜줘야 함.
- 드라이버를 메모리로 업로드 시키는 법은 Class.forName(드라이버 파일) 메서드를 이용.
- 특정 클래스를 로딩하면 자동으로 객체가 생성되고, DriverManager에 등록됨.
일반적으로 드라이버 클래스는 로드될 때 자신의 인스턴스를 생성하고, 자동적으로 DriverManager 클래스 메서드를 호출하여 그 인스턴스를 등록함.
- 이 메서드는 Class라는 클래스에 포함되어 있으며, 해당 파일 경로에 위치한 파일을 동적으로 프로그램이 실행될 때 메모리 상에 업로드 하는 기능을 수행함.
4. 커넥션
- 설치된 드라이버를 메모리 상에 업로드 시킨 후 DB를 프로그램과 연결해야 함.
- DriverManager 클래스는 데이터 원본의 JDBC 드라이버를 통해 커넥션을 생성해 줌.
- DriverManager 클래스의 getConnection() 메서드를 이용해 자신이 사용하는 오라클 정보를 인자로 전달하여 연결을 수행.
- 오라클에 접속하기 위해서는 오라클의 정보[오라클 서버의 IP, 리스너 포트, 오라클 계정, 계정의 비밀번호]를 알아야 함.
*실제 연결 순서
1. 오라클 드라이버 로딩.
2. 데이터베이스 커넥션
3. 쿼리 실행을 위한 PreparedStatement 객체 생성.
4. 쿼리 실행.
5. 쿼리 실행 결과 사용.
6. 쿼리 종료.
7. PreparedStatement 사용 종료.
8. 데이터베이스 커넥션 사용 종료.
'국기훈련과정 > Oracle SQL' 카테고리의 다른 글
07. 예제 (0) | 2021.09.08 |
---|---|
06. JAVA에서 쿼리문 사용하기 (0) | 2021.09.07 |
04 (0) | 2021.09.07 |
03. (0) | 2021.09.06 |
02. (0) | 2021.09.03 |