주의
이 문건은 과거 Hexo 블로그 (2019-06-22) 에서 이동된 문서입니다.
시간이 지남에 따라 최신 기술과 다를 수 있으니 주의 바랍니다.
Spring boot에서 H2 데이터베이스 사용하기
정말 오랜만에 포스팅을 남긴다.
이직 후 블로그를 정리할 시간도 없이 다양한 프로젝트를 진행하였다.
하면서 쌓은 경험들이나 작성할 것들이 Notion에 산더미처럼 쌓여있다.
이제부터 하나씩 정리를 하면서 포스팅을 다시 열심히 해볼 예정이다.
각설하고...
첫 포스팅은 H2 데이터베이스를 붙여보는 부분이다.
H2?
H2는 자바 기반의 RDBMS이다.
브라우저 콘솔 지원, 저용량 (2MB), JDBC API 지원 등 다양한 장점을 가지고 있다.
이런 장점들 덕에 테스트 DB로 많이 쓰인다.
나도 포스팅을 하면서 JPA 등을 테스트 하기 위해 H2를 설정을 하였는데 이번 포스팅에서는 이 H2를 Spring boot에 붙이는 것에 대해 알아보려 한다.
H2에 대해 더 알고 싶은 분은 공식 홈페이지를 참고하자.
How to install?
먼저 진행 환경은 아래와 같다. IntelliJ + Spring boot 2.1.6 + Gradle
처음 프로젝트를 진행한다면 Spring initializr를 통해서 손쉽게 추가할 수 있다.
위 이미지 처럼 이니셜라이즈에서 의존성을 쉽게 추가할 수 있다.
물론 기존의 프로젝트가 있다면 아래의 코드를 build.gradle에 추가해준다.
runtimeOnly 'com.h2database:h2'
프로젝트의 설정 파일(application.yml 등)에 아래와 같이 작성해준다.
server:
port: 8099 # Spring boot Server port
spring:
h2:
console:
enabled: true # H2 웹 콘솔을 사용하겠다는 의미
path: /test_db # 콘솔의 경로
datasource:
driver-class-name: org.h2.Driver #h2 드라이버 설정
url: jdbc:h2:file:~/Develop/Github/SpringBlogExam/test_db;AUTO_SERVER=TRUE #접속 URL
username: test # 사용자 이름 (로그인 시 사용)
password: 1234 # 사용자 암호 (로그인 시 사용)
여기서 datasource의 url의 경우 설명을 간략하게 하면 아래와 같다.
- jdbc:h2:file
- file로 DB를 관리하겠다는 뜻
- ~/.../test_db
- 현재 설정된 경로에 test_db 라는 이름으로 데이터베이스를 생성 (해당 경로에 파일이 생성도니다.)
- AUTO_SERVER
- 다중 접속을 허용하겠다는 의미 (인메모리에서는 미 사용)
이렇게 설정 후 Spring boot를 실행하고 브라우저에 url을 입력하여 접속하면 아래와 같은 화면이 뜬다.
(URL의 경우 위 설정을 예시로 하면 http://localhost:8099/test_db/ 이다.)
아마 콘솔의 JDBC URL의 경우 사진과 다를텐데 yml에 작성한 url로 맞춰주자.
그리고 계정 비번의 정보(위 설정 파일 참고)를 입력하면 콘솔에 접속할 수 있다.
정리
일단 이번 포스팅에서는 가볍에 Spring boot에서 h2를 사용하는 방법에 대해 작성하였다.
다음 포스팅에서는 h2에 테스트 데이터를 넣는 것과 기타 추가 사항에 대해 포스팅을 할 예정이다.