[Spring Boot] H2 Database

조애옹·2025년 6월 15일

📌 H2 Database란?

  • 자바 기반의 경량 인메모리 데이터베이스
  • 설치 없이도 빠르게 실행할 수 있어 개발 및 테스트 환경에 최적화된 DB
  • Spring Boot와 함께 사용할 경우 별도 설정 없이 자동 연동 가능

✅ 의존성 추가 및 설정

builde.gradle.kts

dependencies {
    implementation("com.h2database:h2")
}

application.yml

spring:
  datasource:
    url: jdbc:h2:./db_dev;MODE=MySQL
    driver-class-name: org.h2.Driver
    username: sa
    password:
  h2:
    console:
      enabled: true
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
  • ./db_dev: 현재 프로젝트 루트 기준으로 DB 파일 생성
  • MODE=MySQL: H2에서 MySQL 문법 호환 모드 활성화

✅ 환경별 DB 전략

환경데이터베이스 종류특징
개발H2 (파일 모드)앱 종료 후에도 데이터 유지
테스트H2 (메모리 모드)매 테스트마다 새로 시작되므로 테스트 격리 가능
운영MySQL, MariaDB안정성과 확장성 중심의 정식 RDB

⚠ 테스트 환경에서는 보통 jdbc:h2:mem:testdb 와 같이 메모리 DB를 사용하며, 애플리케이션이 종료되면 데이터도 사라집니다.


✅ H2 콘솔 접속 방법

Spring Boot를 실행한 후 다음 URL로 접속: http://localhost:8080/h2-console

h2-console은 보안상 운영 환경에서는 비활성화하는 것이 좋음

profile
아자잣

0개의 댓글