Backend

H2 데이터베이스 시작하기

jbilee 2025. 4. 20. 00:34

H2는 자바로 작성된 오픈소스 RDBMS다. 인메모리(in-memory) 데이터베이스로, 시스템 메모리에 저장되기 때문에 애플리케이션과 동일한 생명주기를 가진다. 애플리케이션이 종료되면 H2에 저장된 데이터가 다 휘발되기 때문에, 로컬 개발 환경이나 테스트에 적합한 데이터베이스라고 볼 수 있다.

 

H2 설치해보기

H2는 설치 방법이 간단하다. Spring Boot 애플리케이션을 구현한다면 build.gradle 파일에 의존성을 추가해주만 해도 Spring이 DataSource로 H2를 주입한다.

dependencies {
  runtimeOnly 'com.h2database:h2'
}

 

H2 콘솔

H2 콘솔은 브라우저를 통해 메모리에 올라간 H2 데이터베이스에 접근할 수 있도록 해준다. 아래와 같이 application.properties 파일에 console 설정을 해주면 H2 콘솔을 사용할 준비가 끝난다.

spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:mem:database
spring.datasource.username=sa
spring.datasource.password=

 

spring.h2.console.path 값을 "/h2-console"로 해주었기 때문에, 로컬 애플리케이션 가동 시 http://localhost:8080/h2-console 페이지에 접근해 데이터베이스와 상호작용할 수 있다.

 

실제로 h2-console 페이지에 들어가보면 아래 로그인 화면을 볼 수 있는데, JDBC URL, User Name, Password 값은 application.properties에 지정한 대로 입력하면 된다.

 

참고로 H2 콘솔에서는 "DESC $테이블명" 쿼리문으로 테이블의 스키마를 확인할 수 없다. DESC 대신 "SHOW COLUMNS"를 사용해야 한다.

  • 예: SHOW COLUMNS FROM reservation;