JDBC의 구조와 동작

이상혁·2024년 2월 19일
0
post-thumbnail

JDBC란

JDBC란 자바 언어를 이용해서 DB에 접근을 할 수 있도록 해주는 자바 표준 api이다.
대부분에 DB에 접근을 하는 기술은 낮은 단계에서 JDBC를 사용하고 있다.
JDBC는 하나의 인테페이스이다.

JDBC의 구조

JDBC의 구조는 자바 어플리케이션, JDBC API, JDBC 드라이버, 데이터 베이스로 되어 있다.
자바 어플리케이션에서 DB에 접근을 요청하면 JDBC에서 JDBC API를 통해서 접근을 하고
이 때, 각 데이터 베이스에 맞는 JDBC 드라이버를 선택해서 접근을 하고 결과를 돌려준다.

JDBC 동작 과정

JDBC의 동작 과정을 이해하기 위해서는 DB에 접근하기 위한 4기능을 알아야 한다.

  1. Driver
    JDBC는 Dirver를 통해서 DB에 접근을 한다.
    Driver 객체를 통해서 connect 메소드를 실행시켜 DB와 연결을 한다.
    클라이언트는 DriverManager를 통해서 간접적으로 접근을 하고
    DriverManager는 다양한 JDBC Driver를 한 곳에서 관리한다.

  2. Connection
    Connection을 통해서 데이터 베이스와 연결된 정보를 가져올 수 있다.
    DriverManager가 getConnection 메소드를 통해서 Connection 요청을 한다.
    그러면 DrivverManager가 적합한 driver를 찾아서 connect 메소드를 실행시킨다.
    그러면 DB와 연결이 되고 연결된 DB의 정보를 가지고 Connection 객체를 반환해서 클라이언트에게 전달한다.

  1. Statement
    sql문을 쿼리를 Connection 객체에 넘겨 주어서 Statement 객체를 반환한다.
    즉. sql문을 실행하는 역할을 한다.
    쿼리문을 Connection의 prepareStateement메소드를 통해서 전달하면 쿼리문을 관리하는 Statement 객체가 생성이 된다.
    (이 때, 쿼리문은 확정이 되지 않은 쿼리문이다.)
    그러면 이 반환된 Statement 객체의 setter 함수를 통해서 쿼리의 값을 넣어서 바인딩을 해주면 된다.

  2. ResultSet
    실행한 sql문의 결과를 가져오고 싶을 때 사용한다.
    바인딩된 sql문에 preparedStatement의 executeQuery 메소드를 통해서 실행하면 DB에 sql문을 넘겨주고 이를 실행한 결과를 반환한다.
    그리고 이 결과를 ResultSet 객체로 만들어서 넘겨준다.

profile
개발 공부 하기 위해 만든 블로그

0개의 댓글