H2 DB는 컴퓨터에 내장된 램(RAM) 메모리에 의존하는 자바 기반의 RDBMS이다. 용량이 적고, 브라우저 기반의 콘솔 등을 지원해 장점이 많다. 또한, SpringBoot에서 별도 DB를 설치하지 않고 바로 사용할 수 있는 것도 장점이다. 메모리 데이터베이스로 보통 테스트용으로만 쓰인다.
Dependency
Gradle
runtimeOnly'com.h2database:h2'
H2 의존성을 build.gradle에 추가해준다. runtimeOnly 로 런타임시점에만 의존하도록 변경해 주었다.
spring:
h2:
console:
enabled: true # h2 콘솔 사용
path: /h2 # localhost:port/h2 로 접근 가능
settings:
trace: false # Print additional trace information
web-allow-others: true # 브라우저로 접근가능하게 하기
profiles:
active: local
# H2 메모리 DB를 위한 설정
datasource:
driver-class-name: org.h2.Driver
url: jdbc:h2:mem:userdb;DB_CLOSE_DELAY=-1 # userdb 스키마에 mem인 메모리 데이터 베이스로 동작
username: sa
password:
sql-script-encoding: utf-8
--
-- 회원
--
DROP TABLE IF EXISTS MEMBER;
CREATE TABLE MEMBER COMMENT '회원' (
MBR_ID VARCHAR(10) NOT NULL COMMENT '회원ID'
, NAME VARCHAR(100) COMMENT '회원명'
, PRIMARY KEY (MBR_ID)
);
INSERT INTO MEMBER
(MBR_ID, NAME)
VALUES ('0000000010', '회원_0010')
, ('0000000098', '회원_0098')
, ('0000000101', '회원_0101')
;