컴퓨터과학/DB

[H2] H2DB란

znvlcm 2022. 1. 7. 23:16

관계형 데이터베이스의 일종인데. 

오라클이나 MS SQL Server나 DB2등등 여러 관계형 데이터베이스들은 

일단 설치를 해야하고 굉장히 무겁고, 설정하기 귀찮다

반면 H2 DB는 파일DB로도 사용하나 주로 메모리DB로 많이 쓴다. 

임베디드용으로 테스트DB나 가벼운 데이터베이스로 많이 사용하는데 

프로젝트와 별도로 설치하지 않고 

스프링부트에서 Gradle에 설정해주면 내장 DB로

메모리에 저장되는 데이터로 실행하면 초기화되고 실행을 종료하면 다 날아간다. 

메모리DB로 사용하는 경우 영구적 저장 목적이 아닌 메모리가 할당된 상태동안만 저장된다. 

 

spring에서 h2 콘솔 설정 

resource폴더에 있는 application.yml에 아래와 같은 설정을 한다. 

spring:
  h2:
    console:
      enabled: true

그리고 서버를 재기동 하면 위와 같이 로그에 

H2 console available at '/h2-console'. Database available at 'jdbc:##################"

라고 나온다. 

이때 저 Database available at 뒤의 콜론 안의 내용을 복사하면 브라우저를 통해 DB에 접근이 가능하다. 

 

 

콘솔 접속

http://localhost:8080/h2-console

위의 주소를 브러우저 주소창에 입력하면 위 사진과 같은 로그인창이 나온다. 

JDBC URL에 위의 로그에서 복사했던 Database available at 뒤의 콜론 안의 내용을 입력한다.

정확한 URL을 입력하면 위 사진과 같이 접속이 되는 것을 확인할 수 잇다. 

 

 

728x90