1. JDBC를 사용하는 이유

 

애플리케이션 서버에서 DB를 연결하기 위해서 어떻게 동작할까?

 

 

1) 커넥션 연결 : 주로 TCP/IP를 사용해 애플리케이션 서버와 DB서버가 연결된다.

2) SQL 전달 : 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.

3) 결과 응답 : DB는 전달된 SQL을 수행하고 그 결과를 응답한다.

 

이때 DB를 Oracle로 교체한다면???

 

 

기존 MySQL에 커넥션 연결, SQL 전달 방법, 결과 응답 방법 모두 다르기에

먹통이 되어버린다

 

이처럼 애플리케이션 서버와 DB 서버를 직접 연결하면

DB를 바꿀때 마다 개발자는 각 DB별 연결, 전달, 응답 방법을 숙지하고 있다가

그에 맞게 코드를 수정해 줘야할것이다

 

이를 해결하기 위해 나온것이 JDBC 라는 자바 표준이다

 

2. JDBC와 JDBC 드라이버란?

 

JDBC는 자바에서 DB에 접속할 수 있도록 하는

자바 API라고 보면된다

 

 

JDBC 표준 인터페이스에서 3가지 기능을 정의해서 제공한다

  • java.sql.Connection : 연결
  • java.sql.Statement : SQL을 담은 내용
  • java.sql.ResultSet : SQL 요청 응답

 

DB 회사에서는 (Oracle, 마이크로소프트...)

본인들 회사의 DB에 맞도록 위의 JDBC 인터페이스를 구현해서

라이브러리로 제공하고 있다

 

이것을 JDBC 드라이버라고 한다

 

예를들어 MySQL DB에 접근할 수 있는 것은 MySQL JDBC 드라이버

Oracle DB에 접근할 수 있는 것은 Oracle JDBC 드라이버

 

아래처럼 MySQL 드라이버로 MySQL을 연결하다가

 

다시 아래처럼 Oracle로 바꾸고 싶으면 드라이버만 바꾸면 된다

 

이렇게 JDBC를 사용하면 DB를 변경하는 일이 발생해도

JDBC 구현 라이브러리인 JDBC 드라이버만 변경하면 된다

또한 개발자는 JDBC 표준 인터페이스 사용법만 학습하면

수많은 DB에서 동일하게 적용할 수 있게된다