• 티스토리 홈
starryeye
  • 프로필사진
    starryeye
    • 분류 전체보기 (189)
      • C++ (17)
      • Java (24)
      • OOP (5)
      • Spring Reactive Stack (12)
        • Reactive Streams (3)
        • Netty (4)
        • Reactor (1)
        • Webflux (3)
        • DB, Cache 연동 (1)
      • Spring (90)
        • Core (17)
        • MVC (33)
        • Client (2)
        • Security (4)
        • DB, Cache 연동 (33)
      • DataBase (12)
        • RDBMS (2)
        • NoSQL (10)
      • Message Broker (6)
      • Web (4)
      • Network (4)
      • 대규모 시스템 설계 (15)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • JDBC 3
        2022년 07월 11일
        • starryeye
        • 작성자
        • 2022.07.11.:26

        DriverManager

        JDBC가 제공한다.

        라이브러리에 등록된 DB 드라이버들을 관리하며, 커넥션을 획득 할 수 있는 기능을 제공한다.

        (드라이버 : DB 종류별로 JDBC의 인터페이스를 구현한 구현체)

         

        DriverManager.getConnection();

        애플리케이션에서 커넥션을 획득 하고 싶을때의 호출문이다.

        DriverManager는 현재 애플리케이션의 의존하는 라이브러리에 등록된 드라이버 목록을 자동으로 인식 하여...

        각 드라이버에 해당 커넥션을 획득 할 수 있는지.. 확인 후 (처리 할 수 없다면 다음 드라이버로 넘김)

        커넥션을 리턴해준다.

         

        <참고>

        DriverManager에 뭔가 코드 상.. 또는 환경적으로 등록을 해야 할 것 처럼 생각되지만..

        DBMS를 켜놓고 라이브러리에 추가만 해놓으면 자동으로 대상이 된다.

         

        JDBC를 사용하여 DB에 접근하여 select 쿼리 수행 예시

        DB select(search)의 예시 이다.

        JDBC의 표준 인터페이스 3가지...

        1. Connection 클래스,

        2. PreparedStatement 클래스(Statement를 상속 받음),

        3. ResultSet 클래스

        를 사용하는 것을 볼 수 있다.

         

        <참고>

        MySQL DB를 사용하고 있다면

        MySQL JDBC 드라이버의 MySQLConnection,

        MySQL JDBC 드라이버의 MySQLStatment,

        MySQL JDBC 드라이버의 MySQLResultSet

        3가지가 구현체로 동작할 것이다.

         

        getConnection() 내부에 DriverManager.getConnection(); 코드가 존재한다.

        커넥션을 획득 후, DB에 전달할 SQL문을 준비 해준다.

        준비된 Statement를 실행(DB에 전달)을 한다.

        ResultSet을 리턴 받는다.

        rs.next()로 커서를 실제 데이터 있는 곳으로 움직여준다. (false이면 데이터 없다는 뜻)

         

        finally 구문에서

        획득 했던 리소스를 정리해준다. (획득 순서의 역순으로..)

        close() 함수 내부에 구현..

         

         

        'Spring > DB, Cache 연동' 카테고리의 다른 글

        JDBC 6  (0) 2022.07.13
        JDBC 5  (0) 2022.07.13
        JDBC 4  (0) 2022.07.11
        JDBC 2  (0) 2022.07.11
        JDBC 1  (0) 2022.07.11
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바