dependencies {
implementation("com.h2database:h2")
}
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 문법 호환 모드 활성화| 환경 | 데이터베이스 종류 | 특징 |
|---|---|---|
| 개발 | H2 (파일 모드) | 앱 종료 후에도 데이터 유지 |
| 테스트 | H2 (메모리 모드) | 매 테스트마다 새로 시작되므로 테스트 격리 가능 |
| 운영 | MySQL, MariaDB | 안정성과 확장성 중심의 정식 RDB |
⚠ 테스트 환경에서는 보통
jdbc:h2:mem:testdb와 같이 메모리 DB를 사용하며, 애플리케이션이 종료되면 데이터도 사라집니다.
Spring Boot를 실행한 후 다음 URL로 접속: http://localhost:8080/h2-console

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