스프링부트가 지원하는 인메모리 데이터베이스는 3가지가 있다.
1. H2
2. HSQL
3. Derby
Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해준다.(DataSource, jdbcTemplate)
pom.xml에 jdbc와 h2 의존성을 넣어줘야한다.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
JDBC 의존성을 넣어줬기 때문에, DataSource, jdbcTemplate 자동 설정을 해준다.
아무런 데이터소스 설정을 하지 않으면, 스프링부트는 자동으로 인메모리 데이터베이스를 설정해준다.
기본 연결정보는 아래와 같다.
URL: "testdb"
username: "SA"
runner를 만들어 db정보를 출력하고, 쿼리도 날려줄 수 있다.
브라우저를 통해 USER 테이블이 생성되었는지, h2-console을 통해 접속해볼 수 있다.
application.properties에 아래 구문을 추가해준다.
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
그 후, localhost:8080/h2-console 로 접속한다. db정보를 입력하고, connect를 누른다.
USER 테이블이 생성되어 있음을 볼 수 있다.
DataSource말고 jdbcTemplate도 주입받아 사용할 수 있다.
안녕하세요 에어!
H2에 대해서 공부하고 있었는데, 사진에 익숙한 얼굴이 보여서 혹시나 싶었더니 에어였네요.
사진을 첨부한 친절한 설명이 아주 좋네요 👍
글 잘보고 갑니다 😄