Spring Boot에서 H2 DB 연결, 추가 설정 방법

Lundy·2023년 11월 23일

Spring Boot 프로젝트 진행 시, 테스트 레벨에서 H2를 데이터베이스로 사용할 수 있다.
그 때 연결하기 위한 세부적인 설정 과정을 정리해보았다.

1. 의존 라이브러리 추가

  • Spring Data JDBC를 사용하기 위해 build.gradle 에 라이브러리를 추가한다.
dependencies {
	...
	...
	implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
	runtimeOnly 'com.h2database:h2'
}

2. H2 브라우저 활성화 설정 추가

  • application.proterties 파일의 확장자를 .yml 로 변경한다.
  • 이후, H2 기본 설정을 추가한다.
spring:
	h2:
		console:
			enabled: true

3. H2 DB 접속

  • Spring Boot 애플리케이션을 실행하면 콘솔에 나오는 로그 중 아래와 같은 메시지를 찾는다. H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:40ec46af-1f7d-43f9-a9e4-1e1c895984dd'
  • 이후, 웹 브라우저 http://localhost:8080/h2-console로 접속한다.
  • 콘솔에 나온 주소대로 JDBC URL을 변경해준 후 Connect 를 누르면 연결이 완료된다.

4. H2 DB 설정 추가

  • 디폴트 설정은 매번 접속 시 불편함이 있기 때문에 h2 설정을 약간 수정해준다.
spring:
  h2:
    console:
      enabled: true
      path: /h2     # H2 콘솔의 접속 URL을 간결하게 함
  datasource:
    url: jdbc:h2:mem:test  # JDBC URL이 매번 랜덤하게 바뀌지 않도록 고정
  sql:
    init:
			# schema.sql 파일의 스크립트를 읽어, 애플리케이션 실행 시 DB에 테이블을 자동으로 생성해줌
      schema-locations: classpath*:db/h2/schema.sql  
			# 
      data-locations: classpath*:db/h2/data.sql
logging:
  level:
    org:
      springframework:
        jdbc:
          core: TRACE
  • 이후, 웹 브라우저로 접속 시 주소는 [localhost:8080/h2](http://localhost:8080/h2) 로 변경된다.
  • JDBC URL도 jdbc:h2:mem:test 로 변경하여 접속한다.

  • 연결이 잘 된 것을 확인할 수 있다.

profile
아주 사소하더라도

0개의 댓글