H2 Database 사용법과 연결

JINNI·2024년 5월 17일
0

[TIL] Java+Spring

목록 보기
6/15

H2 Database

Java로 작성된 관계형 데이터베이스 관리 시스템으로 용량이 가볍다. Spring boot가 지원하는 In-memory 관계형 DB로 로컬 환경이나 테스트 환경에서 많이 쓰인다.

1. dependency 추가

dependencies {
	runtimeOnly 'com.h2database:h2'
}

2. H2 Database Engine 설치

3. 압축 해제 후 bin 파일에서 실행

  • Window의 경우 h2.bat, Mac OS의 경우 h2.sh 를 실행하면 된다.
  • powerShell에서 cd h2, cd bin, .\h2.bat으로 실행

4. H2 Databae 생성하기

  • database 명명 규칙에 따라 JDBC URL에 til_server라고 작성하고 비밀번호는 따로 설정하지 않았다.
  • 연결 시험을 누르고 시험 성공 안내가 나오면 연결 버튼 클릭

  • 실제 로컬의 h2 경로에 가보면 til_server.mv.db가 생성되어 있다. 정상 작동 완료 되었다는 뜻.

5. TCP 모드로 서버 접속

  • 데이터베이스 파일을 생성한 후 TCP 소켓을 통해 접속해야 어플리ㅔ이션과 코솔을 동시에 접근했을 때 오류가 발생하지 않음.
  • 좌측 상단 빨간 버튼을 누르면 다시 생성 화면으로 되돌아가는데, 다음과 같이 바꾼다.
  • Embedded → Server, JDBC URL과 사용자명은 4번에서 했던 대로 다시 설정
  • 연결 시험 후 성공 시 연결 버튼 클릭

6. Intellij에서 DB 연결

  • src > main > resources > application.properties 파일에 다음과 같은 정보를 추가한다.
  • In-memory mode로 설정.
  • ddl-auto는 DB 초기화 전략을 의미. (none, create, create-drop, update, validate), 여기서 설정한 create는 Entity 클래스를 대상으로 DDL 쿼리의 실행 여부와 실행되는 쿼리를 CREATE로 설정한 것. 실행 시 기존 테이블을 삭제한 후 테이블을 재생성한다.
spring.application.name=TodayILearnServer
spring.config.activate.on-profile=local
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:tcp://localhost/~/til_server
spring.datasource.username=jieun
spring.datasource.password=
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true


참고자료

데이터베이스 명명 규칙
스프링 부트(Spring Boot) - 5분 안에 H2 Database와 JPA 연동해보기

profile
천재 개발자 되기

0개의 댓글