H2 DB 는 경량 Database 로 개발 단계에서 많이 사용하고 있으며 , Disk 가 아닌 Memory 에 데이터를 저장할 수 있다 .
데이터가 휘발된다는 단점을 코드에만 집중하는 데 사용하는 것이다
✅application.yml 설정
spring:
config:
activate:
on-profile: local //profile 선택: local
datasource:
url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER"
username: "sa"
password: ""
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
format_sql: true
show_sql: true
dialect: org.hibernate.dialect.H2Dialect
open-in-view: false
h2:
console:
enabled: true
settings:
web-allow-others: true
path: /h2-console
- jpa.hibernate.ddl-auto: create
- H2 DB를 in-Memory로 설정했기 때문에 서버가 시작될 때마다 테이블을 제거하고 만들어주는것이 좋다.
🔥 주의할점: local 외에 다른 설정(예:dev)이 있다면 다른 설정 쪽에도 on-profile : dev 해줘야된다. 안하면 on-profile 설정 없는쪽이 기본 프로파일로 항상 적용됨
✅ profile 변경
1. IntelliJ Ultimate (유료) 버전 방법
Edit Configurations 클릭
Active profiles에 local 입력
2. IntelliJ Community (무료) 버전 방법
Modify options 클릭 -> Add VM options 클릭 -> Dspring.profiles.active=local 입력
✅ 작동 확인
실행 시 아래와 같이 지정된 profile로 실행되는 것을 확인할 수 있다.
✅ http://localhost:8080/h2-console 에 접속
application.yml에 설정해두었던 URL 과 Name 및 Password 입력
✅테이블 확인