본문 바로가기
IT || 개발공부

[JDBC] JDBC 드라이버 타입 / JDBC API

by saesong 2023. 2. 19.

1-1-(1). JDBC Driver Type

JDBC 드라이버 타입은 일반적으로 네 가지 종류로 나누어진다.

 

■ 타입1: JDBC-ODBD 브릿지 + ODBC 드라이버(JDBC-ODBC Bridge Plus ODBC Driver)
JDK에서 제공하는 드라이버로서 JDBC 뿐만 아니라 ODBC를 같이 이용하여 데이터베이스에접근하는 방법이다. 데이터베이스와 연결되었다면 모든 문제를 ODBC에 달려있게 되는 것이다. 이 방법의 이점으로는 기존에 존재하는 ODBC에 연결할 수 있다는 것이고, 약점이라면 ODBC라는 통신을 한 번 더 이용하기 때문에 JDBC를 이용했을 때보다 속도가 느리다는 것이다.

■ 타입2: 네이티브-API 부분적인 자바 드라이버(Native-API Partly Java Driver)
이 방식은 로컬에 설치된 원시 라이브러리를 이용해 데이터베이스와 연결된다는 것이다. 원시 라이브러리는 거의 'C'로 작성되어 있다. 즉 어플리케이션이 데이터베이스에 JDBC로 요청하면 이 요청을 원시 라이브러리의 메서드 호출로 변환하여 요청을 하는 것이다.

■ 타입3: JDBC-Net 순수 자바 드라이버(JDBC-Net Pure Java Driver)
이 방식은 타입2와 거의 비슷한 방식이다. 단지 차이점이라고는 타입2가 로컬에 원시 라이브러리가 있어서 이 원시 라이브러리를 이용한다는 것이고, 타입3은 원시 라이브러리가 원격 서버에 있어서 원격 서버에서 원시 라이브러리를 이용한다는 것이다. 그러므로 원시 라이브러리의 호출이 로컬에서 이루어지는 것이 아니라 원격 서버에서 이루어지므로 인터넷에 연결되어 있다면 어디서든지 원시 라이브러리를 이용하여 연결될 수 있다는 이점이 있다.

■ 타입4: 네이티브-프로토콜 순수 자바 드라이버(Native-Protocol Pure Java Driver)
이 방식은 그동안 설명했던 방식과 차이점을 가지고 있는데, 가장 중요한 차이점은 바로 순수 자바로 만들어졌다는 것이다. 순수 자바로 만들어졌으므로 ODBC나 원시 라이브러리를 이용하지 않고 곧바로 데이터베이스에 연결되어진다는 이점이 있다. 거의 모든 벤더에서 JDBC를 위한 드라이버를 만들어 놓고 있으며, 그동안 끝까지 드라이버를 만들고 있지 않았던 MS-SQL에서도 현재 베타2까지 내놓은 상태이다.

 

2-1. JDBC API
JDBC를 사용함에 있어서 전체적인 흐름은 데이터베이스 연결하기, 질의 던지기, 그리고 질의에 대한 결과를 받아오는 과정, 마지막으로 연결해제의 단계를 가지고 있다. 이런 과정에서 핵심적으로 쓰이는 API들은 다음과 같다.

· Driver : 모든 드라이버 클래스들이 구현해야 하는 인터페이스이다.
· DriverManager : 드라이버를 로드하고 데이터베이스에 연결할 수 있게 된다.
· Connection : 특정 데이터베이스와의 연결을 말한다.
· Statement : SQL문을 실행해 작성된 결과를 돌려준다.
· PreparedStatement : 사전에 컴파일 된 SQL문을 실행한다.
· ResultSet : SQL문에 대한 결과를 얻어낸다.

 

◆ JDBC API를 통해서 ① 데이터베이스와의 연결 설정 ② 질의 전송 및 데이터 변경 ③ 레코드 처리를 할 수 있다.

이상 중요한 몇 가지만 나열해 보았다. 보다 상세한 내용은 JDK의 문서를 통해 확인하도록 하자. 앞으로 JDBC 프로그램에 있어서 많은 참고를 해야 하는 부분이다.

댓글