진짜 개발자
본문 바로가기

FrameWork/Spring Boot

SpringBoot - SpringBoot H2 연결방법(H2 웹콘솔)

728x90
1. H2 DB란

SpringBoot에서 H2 DB를 사용하는 방법을 알아보도록 하겠습니다.

 

 

 

1. H2 DB란

역시 우선은, H2 DB가 무엇인지부터 간단히 알아보는게 좋을것 같습니다.

 

H2 란?

H2DB는 JAVA기반의 RDBMS입니다.

 

 

특징

별도의 설치과정이 없고, 저용량에 가볍고 빠르고 JDBC를 지원합니다. 따라서 개발 및 테스트용으로 많이 사용됩니다.

 

 

Mode

Server mode는 다른 RDBMS처럼 데이터를 실제로 저장함으로써, 다른 사용자들이 접속할 수 있으며, server와 API등에서 접속할 필요성이 있을때 사용합니다.

Embedded mode는 JDBC를 사용해 동일한 JVM에서 데이터베이스를 엽니다. 가장 빠르고 쉬운 연결모드이지만, 단 하나의 JVM에서만 데이터베이스를 열수 있기 때문에 테스트용 및 개발용 사용합니다.

 

 

 

 


2. Spring Boot에서 연결

설정

설정은 간단합니다. resources하위에 존재하는 application.yml(application.properties)에 위 그림과 같이 설정하면 됩니다. 사실 path의 경우에는 default로 /h2-console로 설정되어있기 때문에, 원하시는 경로가 있을때에만 설정해주시면 됩니다.

 

 

연결

( 출처 : https://springframework.guru/using-the-h2-database-console-in-spring-boot-with-spring-security/ )

우선 Spring Boot에서 제공하는 H2 Database의 기본 설정 내용입니다. 위의 내용을 토대로 연결설정을 해보겠습니다.

 

 

브라우저를 켜고 localhost:포트/h2-console 경로를 입력하면 그림과 같이 h2연결창이 나타납니다. default settings를 토대로 위와같이 설정한뒤 connect를 누릅니다.

 


성공입니다.

 

 



3. mem:testdb not found error

최신 버전의 경우 위와 같이, mem:testdb를 찾을수 없다는 에러가 발견됩니다.


원인 

- 원인은 최신 h2 버전의 경우 보안상의 이유로 기본 db를 생성하지 않아 발생하는 에러입니다.


해결방법

- application.properties에 아래의 설정을 추가하면 됩니다.

datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:


 

4. Spring 에서의 연결

https://springframework.guru/using-the-h2-database-console-in-spring-boot-with-spring-security/