danc
danc*dev
danc
  • 분류 전체보기
    • codestates_BE_bootcamp39
      • 주단위 일기
      • 회고
    • programming
      • JAVA
      • SPRING
      • GENERAL
      • LINUX
      • ALGORITHM
      • ERROR_HANDLING
    • web
      • NETWORK
      • DB
      • HTML
      • CSS
    • kr
    • nz

최근 글

인기 글

태그

  • css
  • 윈도우 11 우분투
  • 회고
  • TIL 일기
  • AOP
  • TIL
  • 코드스테이츠 백엔드
  • 일기
  • React에서 Authorization헤더
  • TIL일기
  • HTTP
  • 코드스테이츠

최근 댓글

티스토리

hELLO · Designed By 정상우.
danc
programming/SPRING

JDBC 간단 요약

JDBC 간단 요약
programming/SPRING

JDBC 간단 요약

2022. 6. 30. 14:40

JDBC란?

JDBC (Java Database Connectivity)는 자바 기반 Application코드 레벨에서 사용되는 데이터를 
DB에 저장 / 업데이트하거나, DB의 데이터를 자바 코드레 벨에서 사용하게 해주는
Java에서 제공하는 표준 API이다. 

JDBC의 구체적인 API 사용법은 알 필요가 딱히 없지만 동작 흐름을 알고 있으면 Spring에서 지원하는
데이터 액세스 기술을 사용하는 데 있어 유용하다.  

후에 학습하게 될 Spring Data JDBC나 Spring Data JPA 기술들은 내부적으로 JDBC를 이용한다. 


JDBC 전체 동작 흐름

https://www.tutorialspoint.com/jdbc/jdbc-introduction.htm

JDBC API 사용을 위해서는 JDBC 드라이버라는 것을 먼저 로딩한 후에 DB와 연결하게 된다.

 

DB와의 통신을 담당하는 인터페이스이다.

Oracle, MySQL, MS SQL 같은 다양한 벤더에서 사용하기 위해 각각의 벤더에 맞는 JDBC 드라이버를
구현하여 특정 벤더의 DB에 접근할 수 있게 된다.

 

JDBC API의 동작 흐름 

코드스테이츠 [JDBC API의 사용 흐름]

  1.  JDBC 드라이버 로딩
    > 사용할 JDBC 드라이버를 로딩하고, DriverManager라는 클래스를 통해 로딩된다.

  2.  Connection 객체 생성

    > JDBC 드라이버가 정상적으로 로딩된 후, DriverManager를 통해
       DB와 연결되는 세션인 Connection 객체 생성 

  3.  Statement 객체 생성 
    > 작성된 SQL 쿼리문을 실행하기 위한 객체 
    > 객체 생성 후, 정적인 SQL 쿼리 문자열을 입력으로 갖는다. 


  4.  Query 실행


  5.  ResultSet 객체로부터 데이터 조회
    > 실행된 SQL 쿼리문에 대한 결과 데이터 셋 

  6. 생성된 객체들은 사용 이후에 사용한 순서의 역순으로 Close 된다.  

Connection Pool

하지만 매번 DB와의 연결을 위해 Connection 객체를 생성하는 것은 비용적으로 효율적이지 않다.

그래서 Connection Pool을 통해 Application 로딩 시점에 Connection 객체를 미리 생성해둔다.
그리고 DB와의 연결이 필요할 때마다 미리 만들어둔 Connection 객체를 사용하게 된다. 

이렇게 미리 생성돼서 보관된 Connection 객체들은 Connection Pool이라는 관리자의 관리를 받는다.

SpringBoot 2.0부터는 HikariCP를 기본 DB Connection Pool로써 사용한다. 

저작자표시 (새창열림)

'programming > SPRING' 카테고리의 다른 글

[Spring Security] - 필터에 대한 개념  (0) 2022.07.03
Spring Data JDBC 간략 요약  (0) 2022.06.30
예외 처리  (0) 2022.06.29
Entity개념 복습  (0) 2022.06.28
구글 로그인 구현 이후 사용자 이름이 뜨지 않는 문제  (0) 2022.06.23
  • JDBC란?
  • JDBC 전체 동작 흐름
  • JDBC API의 동작 흐름 
  • Connection Pool
'programming/SPRING' 카테고리의 다른 글
  • [Spring Security] - 필터에 대한 개념
  • Spring Data JDBC 간략 요약
  • 예외 처리
  • Entity개념 복습
danc
danc
Backend 개발자를 목표로 공부 중 입니다.

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.