본문 바로가기
백엔드(Back-End)/Spring

[Spring, H2] - 스프링에서 DB 테스트를 위한 H2 DB Configuration

by TwoJun 2024. 3. 26.

1. H2 DB 

H2 DB

 

1-1. H2 DB 

(1) H2 데이터베이스란 자바로 작성된 인메모리 관계형 데이터베이스 관리 시스템이다. 자바 애플리케이션에 임베디드하거나 클라이언트-서버 아키텍처에서 구동시킬 수 있다.

 

(2) 기본적으로 스프링 부트를 사용하는 경우 테스팅 환경에서 인메모리 DB 환경을 제공한다.

 

(3) 인메모리 특성을 가지는만큼 서버 애플리케이션이 종료되면 사용됐던 데이터는 모두 사라지게 된다.(휘발성)

 

(4) 개발 단계에서 비즈니스 로직의 수행 결과를 빠르게 확인해 보기 위해 사용하는 경우가 많다.

 

 

 

 

 

2. H2 DB 사용을 위한 의존성 설정

2-1. build.gradle 기준 의존성 추가

(1) 해당 DB를 사용하기 위해 build.gradle 파일에 다음과 같은 H2 Database Dependency를 추가한다.

dependencies {
	runtimeOnly 'com.h2database:h2'
}

 

 

 

 

2-2. application.yml 설정 정보 추가

(1) 서버 애플리케이션을 실행하고 H2 DB를 사용하기 위해 application.yml 파일에 h2 콘솔 접속을 위한 엔드포인트 관련 정보를 아래와 같이 설정한다.

 

(2) yml 기준으로는 설정 정보들이 계층 구조를 갖고 있으므로 주의해서 작성한다.

spring:
  h2:
    console:
      enabled: true
      path : /h2-console

  datasource:
    url: jdbc:h2:mem:[사용자 지정]
    username: sa
    password:
    driver-class-name: org.h2.Driver

 

 

 

 

 

3. H2 DB 환경 접속

(1) Path를 /h2-console로 지정했으므로 본인의 로컬 호스트 경로/h2-console로 접속한다.

 

(2) 예시 : http://localhost:8080/h2-console

 

(3) 작성한 application.yml 파일을 참고하여, JDBC URL, User Name, Password를 입력하고 Connect 버튼을 클릭하여 접속한다.

H2 DB Console

 

 

(4) 아래와 같이 성공적으로 접속한 것을 확인할 수 있다.

콘솔 환경 접속 확인

 

 

 

 

 

 

※ 해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.

개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!

댓글