SpringBoot에서 H2
DB를 사용하는 방법을 알아보도록 하겠습니다.
1. H2 DB란
역시 우선은, H2 DB가 무엇인지부터 간단히 알아보는게 좋을것 같습니다.
H2 란?
H2
DB는 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/
'FrameWork > Spring Boot' 카테고리의 다른 글
SpringBoot - KAKAO AccessToken 발급 받기 (자세한 설명) (3) | 2019.08.31 |
---|---|
SpringBoot - Let's Encrypt로 무료 SSL인증서를 발급받아 SpringBoot에 적용하기(Https) (3) | 2019.08.08 |
Spring Boot - Self-Signed certificate(자체서명된 인증서)를 이용해 https 구축 (2) | 2019.08.03 |
SpringBoot - Controller에서 return 하는 Object의 field 이름변경 (@JsonProperty) (0) | 2019.06.22 |
SpringBoot - SpringBoot로 웹 개발하기 - 3(게시판 글작성 기능 추가) (2) | 2019.05.08 |