본문 바로가기
IT/Java

H2 DB 3가지 모드 사용(Embedded, In-Memory, Server)

by 성준하이 2024. 6. 1.
반응형

이전 포스팅에서 H2 에 대한 포스팅도 다루고 SpringBoot에 적용하는것까지 다룬 포스팅이 있다.

셋팅이나 자세한 내용은 아래 참고 포스팅 참고 바란다.

 

이번 포스팅에서는 H2를 3가지 모드로 사용이 가능한데 그 방법을 다뤄볼것이다.

 

제목에 나와있는것처럼 Embedded, In-Memory, Server 이렇게 3가지 방식이다.

 

Embedded, In-Memory Mode

 

우선 이 두가지를 먼저 살펴볼 것이다.

둘을 같은 주제로 잡은 이유는 저장소 위치 설정만 다르고 나머지는 동일하기 때문이다.

 

properties 설정은 아래와 같다.

# application.properties 파일

# h2 database web으로 확인
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

# spring - h2 연결
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:~/spring-qna-db # embedded Mode : db 데이터 저장 위치 :  ~/spring-qna-db
#spring.datasource.url=jdbc:h2:mem:test # In-Memory mode 
spring.datasource.username=sa
spring.datasource.password=

spring.sql.init.mode=always
#spring.sql.init.schema-locations=classpath:schema.sql
#spring.sql.init.data-locations=classpath:data.sql

 

주요깊게 봐야하는 부분은 빨간 굵은 글씨이다.

위에가 Embedded, 아래가 in memory 로 설정하는 방법이다.



 

Server Mode

 

다음은 서버 모드이다.

Server Mode는 공식 사이트에서 H2를 Plafform-Independent 버전을 다운로드하고 h2/bin/h2.sh를 터미널로 실행하면 h2가 TCP 통신을 할 수 있는 서버 버전으로 실행된다고 볼 수 있다. 

따라서 외부에서 h2 서버가 실행되어야 스프링에서 application.properties에 h2서버 주소를 입력해 접속할 수 있다.

 

다른 RDBMS 설정하는것과 비슷하여 간단하게 설정이 가능하다.

 


참고 포스팅

https://thenicesj.tistory.com/504

 

H2 Database 란? (in Spring)

H2는 자바로 작성된 관계형 데이터베이스 관리 시스템이다. 장점 따로 설치가 필요없다 용량이 매우 가볍다 웹용 콘솔(쿼리툴) 제공하여 개발용 로컬DB로 사용 용이 특징 JAVA로 작성된 오픈소스 R

thenicesj.tistory.com

 

반응형

댓글