SpringBoot에서 H2 데이터베이스 설정하는 방법

devdo·2021년 11월 7일
1

SpringBoot

목록 보기
3/33
post-thumbnail

이번에는 h2 DB 연결방법을 포스팅해 본다.

h2 DB는 RDBMS 지만 in-memory 방식이다.

즉, 인 메모리 데이터베이스의 경우 데이터는 시스템 메모리에 저장되며 프로그램을 끄면 데이터가 없어져 버린다. 일반적으로 Test 용도로 쓰이는 데이터베이스로 많이 사용된다.

참고)
H2 데이터베이스의 GenerationType은 SEQUENCE이다.
@GeneratedValue(strategy = GenerationType.SEQUENCE)

  • 데이터베이스 시퀀스는 유일한 값을 순서대로 생성하는 특별한 데이터베이스 오브젝트이다. SEQUENCE 전략은 이 시퀀스를 사용하여 기본키를 생성한다. 주로 오라클, PostgreSQL, DB2, H2 데이터베이스에서 사용할 수 있다.

https://hyeonic.tistory.com/m/196


build.gradle 설정

runtimeOnly 'com.h2database:h2'

// test에서 lombok 사용
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'

appication.yml

  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:~/test;MODE=MySQL;
    username: sa
    password:

https://www.h2database.com

Download > All Downloads > Archive Downloads 에 들어간다.

h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다. - 현재 1.4.200 버전을 다운로드 받으면 된다.

다음 링크에 가면 다양한 H2 다운로드 버전을 확인할 수 있다.
https://www.h2database.com/html/download-archive.html

들어가는 방법은 윈도우 검색창에 h2-console에 치면 들어가진다.
(나오게 할려면 먼저 h2.bat 실행)

인텔리제이 DataSources 셋팅

사용자명은 sa 입력
JDBC URL에 다음 입력,
jdbc:h2:~/test (최초 한번) 이 경우 연결 시험 을 호출하면 오류가 발생한다. 연결 을 직접 눌러주어야 한다.
~/test.mv.db 파일 생성 확인
이후부터는 jdbc:h2:tcp://localhost/~/test 이렇게 접속할 수 있다.

test.mv.db 생성됨을 확인할 때는,
C:\Users\{사용자계정이름} 폴더에 있을 것이다.




스프링부트에서 application yml을 통해 간단하게 설정하는 방법
은 다음과 같다.

application yml 설정

spring:
  h2:
    console:
      enabled: true

  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    open-in-view: false
    hibernate:
      ddl-auto: create
      properties:
        hibernate:
          show_sql: true
          format_sql: true
  • 초기 설정
spring:
  h2:
    console:
      enabled: true
  • /h2-console 디폴트 설정
  datasource:
    driver-class-name: org.h2.Driver
    url: jdbc:h2:~/test;MODE=MySQL;
    username: sa
    password:
  • h2 - jpa 연결 설정
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect
    open-in-view: false
    hibernate:
      ddl-auto: create
      properties:
        hibernate:
          show_sql: true
          format_sql: true

프로젝트를 실행시 Run console에 JDBC URL이 나오게 되있다.

H2 console available at '/h2-console'. Database available at 'jdbc:h2:mem:26b18340-687a-410e-9653-c8c5acf95356'

그리고
http://localhost:8080/h2-console 접속
Run console에 나온 JDBC URL을 입력한다.

드디어 h2 웹콘솔로 들어가진다.

profile
배운 것을 기록합니다.

0개의 댓글