H2 DataBase:
。Java로 작성된오픈소스 RDBMS
。Spring Boot가 지원하는In-Memory형식의RDBMS
▶Application의 재구동시 초기화.
。개발용도의Local DB로 사용이 용이
▶로컬또는테스트 환경에서 주로 사용됨.
。CI/CD를 구현하는 경우,JPA에 대한슬라이스 테스트 파일이 존재하는 경우,JPA는DB 의존성이 필요하므로,application-test.yml을 정의후H2 DB를 의존하도록 설정
▶CI/CD 환경에서테스트시 별도DB 설정없이테스트가 가능하므로.runtimeOnly 'com.h2database:h2' implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'。
application.yml에서 다음 구문을 통해H2-DB사용설정
▶Spring JDBC도 추가정의해야 사용가능spring: sql: init: mode: always h2: console: enabled: true datasource: url: jdbc:h2:~/test username: sa password: driver-class-name: org.h2.Driver▶
H2 console접속 시 필요한JDBC URL은동적으로 변화하므로 다음정적 JDBC URL로 고정
。이후 http://localhost:8080/h2-console 로 접속
sql파일을 생성하여H2 DB초기 설정 table 및 데이터 설정implementation 'org.springframework.boot:spring-boot-starter-data-jpa'。
spring-boot-starter-data-jpa를 활용 시 Application이 구동 및 초기화될때 자동으로schema.sql을 참조하여 H2-DataBase에 table 생성.
。H2-DB는In-Memory DB이므로어플리케이션의재구동마다 데이터 초기화되므로Application의재구동마다 실행할 초기값 정의용.sql파일을 생성