JDBC(Java DataBase Connectivity)

이상억·2024년 12월 5일

cs

목록 보기
2/3
post-thumbnail

JDBC(Java DataBase Connectivity) 란 ?

  • JAVA Program에서 데이터베이스를 표준화된 방법으로 접속할 수 있도록 만든 API 규격
    • 개발자는 DB 종류에 무관하게 표준화된 API를 이용해 프로그램 개발 가능
    • DB 종류 변경시 프로글매 수정 최소화

이미지 설명


JDBC의 주요 클래스와 인터페이스

DriverManager

  • 데이터베이스 드라이버를 관리하고 연결을 생성하는 데 사용.

Connection

  • 데이터베이스와의 연결을 나타내며, 쿼리 실행에 필요한 객체를 생성.

Statement

  • SQL 쿼리를 실행하는 객체.

PreparedStatement

  • 파라미터화된 쿼리를 실행하며, SQL Injection 방지와 성능 향상 가능.

ResultSet

  • SELECT 쿼리 결과를 처리하기 위한 객체.

JDBC 프로그램 개요

이미지 설명

1. JDBC 드라이버 로드

  • 설명
    • JDBC 드라이버를 로드하여 애플리케이션이 데이터베이스와 통신할 수 있도록 설정
  • 역할
    • 데이터베이스와 애플리케이션 간의 연결을 위한 통로를 설정

2. 데이터베이스 연결

  • 설명
    • 데이터베이스 URL, 사용자 이름, 비밀번호를 사용해 데이터베이스와 연결을 생성
  • 역할
    • 데이터베이스와 실제 연결을 열어 쿼리 실행이 가능하도록 준비

3. Statement 생성

  • 설명
    • SQL 쿼리를 실행하기 위한 객체를 생성
    • Statement는 데이터베이스와 상호 작용할 때 SQL 명령을 전달하는 데 사용

4. SQL문 전송

  • 설명
    • SQL 문장을 데이터베이스로 전송하여 실행
    • 쿼리 종류에 따라 결과를 조회하거나 데이터를 삽입/수정/삭제

5. 결과 받기

  • 설명:
    • 데이터베이스에서 반환된 결과를 처리
    • SELECT 쿼리 실행 후 반환되는 ResultSet 객체를 통해 데이터를 읽음

6. 연결 해제

  • 설명:
    • 사용이 끝난 데이터베이스 연결 및 Statement, ResultSet 객체를 닫아 자원을 반환
    • 연결 해제는 메모리 누수를 방지하고 데이터베이스 성능을 유지하기 위해 필수

JDBC의 한계와 대안

한계

  • SQL 문 작성을 직접 해야 하므로 코드가 장황해짐.
  • 예외 처리와 자원 관리가 복잡.
  • 대규모 프로젝트에서는 코드 관리가 어려움.

대안

  • ORM(Object-Relational Mapping) 프레임워크: Hibernate, JPA 등.
  • Spring JDBC: 스프링 프레임워크가 제공하는 JDBC 간소화 도구.
profile
이상억

0개의 댓글