작성일자 : 2023-09-23
1. JDBC란?
JDBC는 Java Database Connectivity의 약어로, 자바 프로그래밍 언어와 관계형 데이터베이스 간에 상호 작용하기 위한 자바 API(애플리케이션 프로그래밍 인터페이스)이다.
JDBC는 자바 애플리케이션에서 데이터베이스와 통신하고 데이터베이스 작업을 수행하는 데 사용된다. 이를 통해 자바 애플리케이션은 데이터의 검색, 추가, 수정 및 삭제와 같은 데이터베이스 조작을 수행할 수 있다.
2. 구조
JDBC 구조는 자바 애플리케이션과 관계형 데이터베이스 간의 상호 작용을 위한 일련의 계층화된 구성 요소로 구성된다.
1. JDBC API: JDBC API는 자바 애플리케이션과 데이터베이스 간의 표준 인터페이스를 제공한다. 이 인터페이스는 자바 언어로 데이터베이스 작업을 수행하는 데 필요한 클래스와 메서드를 정의한다.
2. JDBC 드라이버 매니저 (JDBC Driver Manager): JDBC 드라이버 매니저는 애플리케이션에서 사용할 JDBC 드라이버를 관리하고 등록하는 역할을 한다. 각 데이터베이스 공급 업체(vendor)는 자체 JDBC 드라이버를 제공하며, 이 드라이버를 등록하여 사용할 수 있다.
3. JDBC 드라이버 (JDBC Drivers): JDBC 드라이버는 특정 데이터베이스 관리 시스템(vendor)과 통신하기 위한 라이브러리다. 이 드라이버는 데이터베이스와의 연결을 설정하고 SQL 쿼리를 실행하는 데 사용된다. 다양한 데이터베이스에 대한 JDBC 드라이버가 존재하며, 각 데이터베이스 종류에 맞는 드라이버를 선택하여 사용한다.
4. 데이터베이스 연결 (Database Connection): JDBC 드라이버를 사용하여 자바 애플리케이션은 데이터베이스 서버에 연결을 설정한다. 이 연결은 데이터베이스와의 통신을 위한 핵심 요소이며, 연결 문자열, 사용자 이름, 비밀번호 등과 함께 구성된다.
5. SQL 쿼리 실행 (SQL Query Execution): 연결된 데이터베이스로 SQL 쿼리를 보내고 실행한다. JDBC를 사용하여 SELECT, INSERT, UPDATE, DELETE 등 다양한 SQL 쿼리를 실행할 수 있으며, PreparedStatement나 Statement와 같은 JDBC 클래스를 사용하여 쿼리를 실행한다.
6. 결과 처리 (Result Handling): SQL 쿼리의 실행 결과는 JDBC를 통해 자바 애플리케이션으로 가져온다. 이 결과는 ResultSet 객체로 반환되며, 개발자는 이를 처리하거나 데이터를 추출하여 사용한다.
7. 트랜잭션 관리 (Transaction Management): JDBC는 데이터베이스 트랜잭션을 시작하고 관리하는 데 사용된다. 트랜잭션을 시작하고 커밋 또는 롤백하는 등의 트랜잭션 조작을 지원한다.
JDBC 구조는 자바 애플리케이션과 다양한 관계형 데이터베이스 간의 표준화된 상호 작용을 가능하게 한다. 각 JDBC 드라이버는 특정 데이터베이스 시스템과 통신하기 위한 프로토콜 및 구현을 제공하며, JDBC API를 통해 자바 애플리케이션은 이 드라이버를 사용하여 데이터베이스와 효과적으로 상호 작용할 수 있다.