1. JDBC
- Java에서 DBMS와 연동할 때 사용하는 저수준 API(Application Programming Interface)
- Driver를 사용하여 DBMS와 연동 (driver loading 방식)
> Driver는 DB Vendor사(DBMS 제조사 – Oracle, IBM,,,)에서 제공함
- driver loading 방식의 장점 : driver만 제공된다면 모든 DBMS와 연동 가능
- java.sql 패키지에서 관련 인터페이스와 클래스를 제공
2. driver 종류
- driver는 4가지 type으로 구분
① type 1 (JDBC-ODBC Bridge Driver)
- Windows에서만 사용할 수 있는 방식
- DB를 OS에서 연결 설정하고, java에서 사용하는 방식
- 속도가 느림 (잘 안씀. MS office의 Access 정도)
- java에서 제공하는 유일한 드라이버
② type 2 (native driver)
- Driver를 제작한 언어와 Java가 다른 언어로 개발된 Driver 방식
(언어가 다른데 DB를 주고받을 때)
- driver를 사용하기 위해 별도의 프로그램을 설치해야 함 (번거로움)
- Middle ware(미들웨어 – 장비, 소프트웨어,,,)에서 주로 사용되는 driver
③ type 3(network protocol driver)
- applet에서 DBMS와 연동하기 위한 driver
④ type 4 (native protocol driver)
- JDBC에서 가장 많이 사용하는 Driver
- Driver를 제작한 언어와 Java가 동일한 언어로 개발된 Driver 방식 (안전성/속도 장점)
3. java.sql package 제공 interface, class
* 클래스 *
- Class : 외부에 존재하는 클래스를 new를 사용하지 않고 사용
- DriverManager : Connection URL과 인증정보를 받아 URL에 설정된 DB와 연동하여 Connection을 반환하는 일
* 인터페이스 *
- Connection : DB와 연동관리 – close(), transaction 관리 – commit()/rollback(), 쿼리문 생성 객체 얻기
- Statement : 쿼리문 생성 객체 / 쿼리문을 실행할 때마다 생성하고 실행하는 인터페이스
(실행할때마다 쿼리문을 생성해서 속도가 느림)
- PreparedStatement : 쿼리문을 먼저 생성하고, 값을 나중에 넣어 실행하는 인터페이스
- CallableStatement : Prodedure를 실행할 때 사용하는 인터페이스
- ResultSet : select한 결과를 사용하기 위해 Cursor의 제어권을 받는 인터페이스
코딩은 다음에 계속!
'Development > JDBC' 카테고리의 다른 글
| [JDBC] DAO / PreparedStatement 활용 (0) | 2021.10.15 |
|---|---|
| [Java/JDBC] Singleton Pattern (0) | 2021.10.14 |
| [JDBC] SQL Exception / SQL Injection (0) | 2021.10.13 |
| [JDBC] ResultSet / Statement 활용 (0) | 2021.10.12 |
| [JDBC] JDBC 작업 순서 / 쿼리문 생성객체 / bind 변수 (0) | 2021.10.11 |