본문 바로가기

[스프링 부트] h2 database 연결까지 기본세팅

ironwhale 2024. 1. 21.

Spring boot와 h2 연결하기 

회사 업무로 mssql을 사용하고 있는데 결국 sql을 사용할 수 있는 사람이 저 밖에 없다보니 스프링부트를 이용해서 자주 찾는 데이터는 손쉽게 누구나 찾아 볼 수 있도록 해야될 필요성을 느꼈습니다. 그래서 스프링 부트 3 백엔드 개발자 되기(신선영 지음)과 김영한 선생님의 스프링 강의를 복습하면서 익힌 h2 DB 연결하는 기본 세팅을 정리하고자 합니다. 

순서

  1. h2 DB 다운로드
  2. 권한 주기(mac만)
  3. 실행하기
  4. db 생성 및 접속하기
  5. 스프링부트 설정하기

 h2 dabase 다운로드

다운로드는 아래 주소에 들어가셔서 받으시면 됩니다. 저는 설치버전이 아닌 zip파일로 받았습니다. 

https://www.h2database.com/

 

H2 Database Engine (redirect)

H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo

www.h2database.com


권한 주기(mac 만)

맥에 경우 755 권한을 주셔야되고 윈도우는 안하셔도 됩니다. 775권한은 소유자에게 모든 권한 읽기, 쓰기, 실행을 가능하도록하는 리눅스 파일권한 설정이라고 합니다. 그 외 사용자는 쓰기는 불가능 합니다. 

 

앞서 다운 받은 파일의 압축을 풀고 그 안에 h2.sh가 있는 bin 폴더로 가셔서 아래 명령어를 입력하시면 됩니다. 

chmod 775 h2.sh

chmod 775 h2.sh
권한 주기

실행하기

이제 실행하면 됩니다. 윈도우에 경우 h2.bat파일을 더블클릭하면 실행이 되고 맥에 경우 ./h2.sh를 터미널에서 입력하면 실행이 됩니다.  

 

위에 명령어를 맥에서 입력하시면 아래와 같이 인터넷 브라우저에 화면이 나타나실 겁니다. 하지만 윈도우에서는 bat파일을 더블클릭하면 실행되는데 맥에서는 일일이 터미널 열고 폴더로 가서 실행 명령어를 입력해야 하는 귀찮음이 있습니다. 그래서 저는 따로 sh 파일을 만들어서 더블클릭하면 실행이 되도록 만들었습니다. 

h2 실행된 화면
h2 database 실행 화면

맥에서 더블클릭으로 h2 데이터베이스 실행하는 sh.command 파일 만들기

 텍스트 편집기를 이용해서 아래와 같이 입력 후 파일명.sh.command로 저장하시면 실행이 됩니다.

#!/bin/bash

# <---- h2.sh 파일이 있는 경로를 다 입력해주세요 ----->
/Users/******/Downloads/h2/bin/h2.sh

DB 생성하고 접속하기 

처음에는 DB 파일이 없기 때문에 JDBC URL에  jdbc:h2:~/test 이렇게 입력해줍니다. 그리고 다시 나와 jdbc:h2:tcp://localhost/~/test 이렇게 바꿔줍니다. 이렇게 안하면 여러곳에서 해당 DB로 접속이 되지 않는 문제가 발생하기 때문입니다. 실제로 저도 jdbc:h2:~/test으로 접속을 하니 인텔리제이에서 사용중이라고 나와 안되었습니다. 

 

h2 db 접속
h2 db 접속

이제 h2 설치부터 DB 생성까지 세팅을 마쳤습니다. 이제 부터는 인텔리제이로 가서 스프링 부트와 h2 DB를 연결하는 부분으로 넘어가보겠습니다. 


스프링 부트와 DB 연결하기

Spring Initializr로 스프링 부트 기본 파일 만들기 

김영한 선생님의 강의에서는 스프링 시작을 https://start.spring.io/ 에서 시작했습니다. 저는 아래와 같이 설정하고 저장하였습니다. 옆에 디펜던시는 각자 필요한 부분을 추가하시면 됩니다.  이제 인텔리제이로 방금 만들 프로젝트를 열어줍니다. 

스프링 초기 세팅

 

application.properties 설정하기 

스프링에서 DB와 연결하기 위해서 다음 파일 설정이 필요합니다. 

spring.jpa.hibernate.ddl-auto=create
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

spring.datasource.username=sa
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:tcp://localhost/~/test

위에 설정에서 datasource부분만 바꿔주면 다른 DB와 연결도 하실수 있습니다. 

댓글