JDBC Driver Manager 커넥션 요청 흐름

zzangbae·2023년 4월 24일
1

스프링 DB

목록 보기
4/4

이 글은 개발 공부하는 "학생"의 글입니다. 참고용으로만 활용해주시길 바랍니다. 혹시 오류를 찾으셨다면 답글달아주시면 정말 감사드리겠습니다:)

공부한 곳 : 김영한 스프링 DB 핵심강의1 -> 정말 이해가 잘갑니다,,강추,,!

Driver Manager

  • JDBC가 제공하는 말 그대로 "드라이버 관리자"이다.
  • 라이브러리에 등록된 DB 드라이버들을 관리하고, 커넥션을 획득하는 기능을 제공한다.

cf) Connection 인터페이스

cf) DriverManager

  • 등록된 JDBC 드라이버 리스트를 파악하는 것을 확인할 수 있다.

DriverManager 커넥션 요청 흐름

  1. DriverManger.getConnection()에 필요한 연결정보를 매개변수로 집어넣고 커넥션을 호출한다.
  2. DriverManager가 등록된 드라이버 목록을 순서대로 지나면서 커넥션을 획득할 수 있는지를 찾는다.
    • 앞선 예제에선 jdbc:h2를 통해서 h2 DB랑 연결됨을 확인할 수 있었다.
    • id, 비밀번호, 주소 등이 맞으면 해당 커넥션을 반환한다.
    • 만약 h2 DB앞에 다른 DB의 드라이버에 커넥션을 요청했었다고 한다면, 이 드라이버들은 본인들이 처리할 수 없다는 결과를 반환하여, DriverManager는 다음 드라이버로 이동한다.
  3. 찾은 커넥션 구현체를 애플리케이션에 반환한다.

java.sql.Connection 인터페이스를 구현한 h2 driver

profile
배우는 게 너무 즐거운 개발자

0개의 댓글