[Spring Boot] 인메모리 데이터베이스

Junseo Kim·2020년 2월 12일
2

인메모리 데이터베이스

스프링부트가 지원하는 인메모리 데이터베이스는 3가지가 있다.
1. H2
2. HSQL
3. Derby

Spring-JDBC가 클래스패스에 있으면 자동 설정이 필요한 빈을 설정 해준다.(DataSource, jdbcTemplate)

H2 예제

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도 주입받아 사용할 수 있다.

2개의 댓글

comment-user-thumbnail
2021년 4월 16일

안녕하세요 에어!
H2에 대해서 공부하고 있었는데, 사진에 익숙한 얼굴이 보여서 혹시나 싶었더니 에어였네요.
사진을 첨부한 친절한 설명이 아주 좋네요 👍
글 잘보고 갑니다 😄

1개의 답글