JDBC란?

코딩을 합시다·2023년 4월 19일
0

JDBC의 등장 배경

애플리케이션 서버에서 DB를 연결하기 위해선 어떤 동작이 필요할까?

  1. 커넥션 연결 : 주로 TCP/IP를 사용해 애플리케이션 서버와 DB 서버가 연결된다.
  2. SQL 전달 : 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연결된 커넥션을 통해 DB에 전달한다.
  3. 결과 응답 : DB는 전달된 SQL을 수행하고 그 결과를 응답한다.

간단하게 표현해서 위와 같이 동작한다. 이때 DB 서버를 교체한다면 어떻게 될까?

위와 같은 방식처럼 애플리케이션 서버와 DB서버를 직접 연결하는 방식은 데이터베이스를 다른 종류로 변경하면 애플리케이션 서버에서 개발한 데이터베이스 사용 코드를 모두 변경해야 한다.

이러한 문제를 해결할 수 있는게 바로 JDBC라는 자바 표준이다.

JDBC(Java Database Connectivity)란? JDBC 드라이버란?

JDBC는 자바에서 데이터베이스 접속할 수 있도록 하는 자바 API이다. 이러한 JDBC는 데이터베이스에서 자료를 쿼리 하거나 업데이트 하는 방법을 제공한다.

JDBC 표준 인터페이스를 이용하면 위에서 언급한 문제들을 해결 할 수 있다.

JDBC 드라이버

  • DBMS와 통신을 담당하는 자바 클래스
  • MySQL : com.mysql.jdbc.Driver
  • 오라클 : oralce.jdbc.driver.OracleDriver
  • MSSQL : com.microsoft.sqlserver.jdbc.SQLServerDriver

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

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

DB 벤더(회사)에서는 자신의 DB에 맞도록 위 JDBC 인터페이스를 구현해서 라이브러리로 제공하는데, 이것을 JDBC 드라이버 라고 한다. 예를 들어 MySQL DB에 접근할 수 있는 것은 MySQL JDBC 드라이버라고 하고, Oralce DB에 접근할 수 있는 것은 Orale JDBC 드라이버라고 한다.

만약 애플리케이션 서버에서 MySQL DB에 연결하고 싶다면 MySQL 드라이버를 사용하면 된다. 이때 만약 Oracle DB로 변경하고 싶다면 어떻게 하면 될까?

JDBC 드라이버만 Oracle 드라이버로 교체해주면 된다.

이처럼 JDBC를 사용하면 데이터베이스를 변경하더라도 JDBC 구현 라이브러리(JDBC 드라이버)만 변경하면 된다. 또한 개발자는 JDBC 표준 인터페이스 사용법만 학습하더라도 수많은 데이터베이스에 동일하게 적용할 수 있게 된다.

0개의 댓글