[Java] JDBC란

Java <-> DB 연결관계에 대한 해석

Posted by owin2828 on 2020-01-06 17:05 · 1 min read

1. JDBC란?

  • Java DataBase Connectivity
  • JDBC는 자바 프로그램이 DBMS에 일관된 방식으로 접근할 수 있도록 API를 제공하는 자바 클래스들의 모임으로 다음의 특징을 가진다.
    1. JDBC는 함수 호출용 SQL 인터페이스
    2. JDBC는 ANSI SQL-92 표준을 지원
    3. JDBC는 공통된 SQL 인터페이스를 바탕으로 함

      결과적으로 JDBC는 DB의 종류와 독립적인 API를 제공

2. JDBC 구성

JDBC개요

2-1. 응용프로그램

  • 데이터베이스에 연결을 요청
  • 데이터베이스에 SQL 문을 전송
  • SQL 문의 결과를 요청
  • 오류가 발생하는 경우 오류 처리
  • 트랜잭션을 제어

2-2. 드라이버 매니저

  • 데이터베이스에 맞는 드라이버 검색
  • JDBC 초기화를 위한 작업을 수행

2-3. 드라이버

  • 데이터베이스에 연결
  • 데이터베이스에 SQL 문을 전달
  • 응용프로그램에 검색 결과를 전달
  • 필요한 경우 커서를 조작
  • 필요한 경우 트랜잭션을 시작

커서란?

  • 오라클에서 CURSOR란 시스템 글로벌 영역의 공유 풀 내에 저장공간을 사용하여
    사용자가 SQL 문을 실행시키면 결과값을 저장공간에 가지고 있다가 원하는 시기에
    순차적으로 fetch해 처리하여 해당 결과 셋을 프로그래밍적으로 접근할수 있게 도와주는 기능
  • 묵시적커서(Implicit Cursor)와 명시적커서(Explicit Cursor)가 존재

2-4. DB

  • 데이터가 저장되어 있는 장소

3. JDBC 코딩의 흐름

  1. JDBC 드라이버 로드
  2. DB 연결
  3. DB에 데이터를 읽거나 쓰기 (SQL문)
  4. DB 연결 종료