1. JDBC 개요
- JDBC(Java Database Connectivity)는 자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API입니다.
- JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공합니다.
- JDBC는 표준 인터페이스로, 다양한 데이터베이스와 연동할 수 있게 해줍니다.
1.1 JDBC의 등장 이유
- 애플리케이션을 개발할 때 중요한 데이터는 대부분 데이터베이스에 보관합니다.
- 클라이언트가 애플리케이션 서버를 통해 데이터를 저장하거나 조회하면, 애플리케이션 서버는 다음 과정을 통해서 데이터베이스를 사용합니다.
1.1.1 데이터베이스 사용 과정
- 커넥션 연결: 주로 TCP/IP를 사용해서 커넥션을 연결합니다.
- SQL 전달: 애플리케이션 서버는 DB가 이해할 수 있는 SQL을 연 결된 커넥션을 통해 DB에 전달합니다.
- 결과 응답: DB는 전달된 SQL을 수행하고 그 결과를 응답합니다. 애플리케이션 서버는 응답 결과를 활용합니다.
1.1.2 데이터베이스 변경시 문제점
- 각각의 데이터베이스마다 커넥션을 연결하는 방법, SQL을 전달하는 방법, 그리고 결과를 응답 받는 방법이 모두 다릅니다.
- 데이터베이스를 다른 종류의 데이터베이스로 변경하면 애플리케이션 서버에 개발된 데이터베이스 사용 코드도 함께 변경해야 합니다.
- 개발자가 각각의 데이터베이스마다 커넥션 연결, SQL 전달, 그리고 그 결과를 응답 받는 방법을 새로 학습해야 합니다.
- 이러한 문제점을 해결하기 위해 JDBC라는 표준이 만들어졌습니다.
정보
JDBC 이전에는 개발자가 Oracle, MySQL, PostgreSQL 등 각 데이터베이스별로 다른 방식의 코드를 작성해야 했습니다. JDBC는 이러한 문제를 해결하기 위해 표준 인터페이스를 제공합니다.
1.2 JDBC 인터페이스
- JDBC는 대표적으로 아래 3가지 인터페이스를 제공합니다.
- java.sql.Connection: 데이터베이스와의 연결을 담당합니다.
- java.sql.Statement: SQL 쿼리를 실행하기 위한 인터페이스입니다.
- java.sql.ResultSet: SQL 쿼리 실행 결과를 담는 객체입니다.
- 개발자는 이 표준 인터페이스를 사용해 데이터베이스를 사용하면 됩니다.
1.3 JDBC 구현체
- JDBC 인터페이스만으로는 기능이 동작하지 않습니다. 이를 구현한 구현체가 필요합니다.
- 각각의 DB 벤더는 자신의 DB에 맞도록 JDBC 인터페이스를 구현해 제공하며 이를
JDBC 드라이버라고 합니다. - 예를 들어서 MySQL DB에 접근 할 수 있는 것은 MySQL JDBC 드라이버라 하고, Oracle DB에 접근할 수 있는 것은 Oracle JDBC 드라이버라 합니다.