Programming/Spring

[Spring Boot] H2 데이터베이스 사용해보기 (개념 / 환경 구성 / JPA 사용 예제)

JeongKyun 2022. 3. 24.
반응형

서론

이번글에서는 테스트로 자주 사용하는 h2 database에 대해 알아보려한다. 사용 예제는 맨 아래의 git 링크로 들어가면 볼 수 있다.

 


 

H2 Database란?

h2는 우리가 흔히 볼 수 있는 RDBMS(관계형데이터베이스)이다.

근데 일반적인 DB와 다른점이라고 하면, H2는 메모리 데이터베이스 기반이며 휘발성데이터를 관리하는 DB이다.

 

보통 통용되는 데이터베이스는 DB 서버에 실제 메모리를 유지시키므로 영구적인 데이터를 사용할 수 있는 반면,

 

H2는 데이터가 시스템 메모리에 저장이 되어 서버를 종료하거나, 재시작하면 해당 데이터가 삭제되는 데이터베이스이다.

 

그런데, 이 H2를 언제 쓸까? 특징을 알아보자.

 

H2 특징

  • 매우 빠른 속도를 지원하는 오픈 소스이다.
  • 인 메모리 데이터베이스이다.
  • 브라우저 기반 콘솔 프로그램을 지원한다.
  • 2MB jar 파일 크기로 굉장히 작은 설치 공간을 갖고있다.

위의 내용대로 빠른 속도를 지원하고 브라우저 기반 콘솔을 지원해주기 때문에 접근성이 굉장히 좋다. 그래서 개발 중 데이터들을 실제 넣어보고 로컬 메모리에서 테스트를 해보기에 적합하다고 볼 수 있다.

 


 

H2 사용 방법

** 필자는 Spring Initializr를 이용하여 Dependencies를 설정하였다. 해당 설정 내용은 하단 git에 들어가서 readme를 참고바란다.

 

 

1. build gradle 설정 (Spring Initializr 사용)

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-validation'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	compileOnly 'org.projectlombok:lombok'
	runtimeOnly 'com.h2database:h2'
	annotationProcessor 'org.projectlombok:lombok'
	testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

 

 

 

2. Application.yml 설정

spring :
    h2:
      console:
        enabled: true

 

 

 

3. Server 실행 -> console 확인 -> 해당 밑줄 내용 복사

 

 

 

4. localhost:port/h2-console 접속 -> 복사한 내용 해당 밑줄 붙여넣기

 

 

 

5. 접속 확인

 

 

 

6. Run 또는 Edit으로 데이터 출력 및 수정

 


 

사용 예제 [GIT 링크]

https://github.com/Anjeongkyun/Make-Developer/commit/0854ea6be635aaf90d0430f8f246e1ae9108e021

 

developMaker first commit · Anjeongkyun/Make-Developer@0854ea6

- h2 DB 연동 및 jpa를 이용한 insert

github.com

해당 깃으로 들어가서 특정 url에 접속 시 jpa를 이용한 data insert를 사용하는 예제를 확인할 수 있다.

이후 추가 작업들이 있을 수 있으니 해당 내용만 확인하기 위해선 first commit 부분으로 들어가서 참고하면 될 것 같다.

 

 

댓글

💲 많이 본 글