서론
이번글에서는 테스트로 자주 사용하는 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
해당 깃으로 들어가서 특정 url에 접속 시 jpa를 이용한 data insert를 사용하는 예제를 확인할 수 있다.
이후 추가 작업들이 있을 수 있으니 해당 내용만 확인하기 위해선 first commit 부분으로 들어가서 참고하면 될 것 같다.
'Programming > Spring' 카테고리의 다른 글
[Spring Boot] Thymeleaf란? (개념 / 특징 / 사용법) (0) | 2022.03.28 |
---|---|
[Spring Boot] 간단한 Http API테스트 환경 만들기 (IntelliJ IDEA) (0) | 2022.03.25 |
STS(Eclipse)에서 IntelliJ로 프로젝트 옮기는 방법 (Import / Export) (0) | 2022.03.20 |
[Spring] 전역 예외 처리 방법 (@ControllerAdvice, @ExceptionHandler) (0) | 2022.03.13 |
[Spring] 쿠키와 세션의 차이점 (0) | 2022.03.13 |
댓글