[SpringBoot] H2 데이터베이스 설치 및 SpringBoot에 연동하기
안녕하세요
이전 포스팅에서 MySQL을 설치하였는데 개발 용으로 쓰기 좋은
H2 데이터 베이스에 대해서도 다뤄보려고 합니다.
H2는 타 DB에 비해 가볍고 쓰기 편하다는 것이 장점인데
오늘은 H2 데이터베이스를 설치 해보고
이를 SpringBoot에 연동하는것 까지 해보도록 하겠습니다.
1. 설치파일 다운로드
먼저 아래의 주소로 가서 설치파일을 다운로드 받습니다.
▶H2 다운로드 사이트
위 주소로 가게되면 아래와 같이 홈페이지가 뜨게되는데
Download에 각자 환경에 맞도록 다운로드를 눌러줍니다.
저는 윈도우환경이기 때문에 Windows Installer를 눌러줬습니다.
그러면 설치파일을 다운로드 받게 되는데
이후 뜨는 설치창은 어려운 것 없으니 쭉 진행하시면 설치가 완료됩니다.
2. H2 데이터베이스 서버 실행하기
설치가 끝났으면 윈도우키를 눌러 h2를 검색하면
아래 이미지와 같이 H2 Console이 나오므로 클릭하면 H2서버를 쉽게 실행할 수 있습니다.
※참고
이 바로가기 외에도 설치한 경로로 찾아가서 bin폴더 아래를 보면
h2.bat
h2.sh
h2w.bat
이렇게 4개의 파일이 있는데
윈도우 유저라면 h2.bat이나 h2w.bat을 실행하면 동일하게 DB를 실행시킬 수 있습니다.
리눅스 계열이나 맥은 h2.sh파일을 실행하시면 됩니다.
이 때 chmod 755 h2.sh 명령어를 통해 미리 권한을 주셔야 합니다.
혹시 실행되지 않는 분은
콘솔창 url에 ip가 나와있는 부분을 아래 이미지와 같이 localhost로 바꿔주면 열리게 됩니다.
(이 때 sessionid라고 나와있는 뒷부분을 건드리시면 안됩니다!)
3. H2 데이터베이스 파일 생성하기
아래의 화면에서 JDBC URL을 설정하면 되는데
먼저 처음에는 데이터 베이스 파일을 생성하기 위해
jdbc:h2:~/DB 명
위와 같은 방식으로 경로를 설정한 뒤 연결 버튼을 눌러줍니다.
(연결 시험을 누르면 DB가 생성되지 않았다는 에러가 뜨게됩니다.)
연결을 눌러 들어가고 나면 DB가 실행되게 되는데
이 때의 DB파일은 각 컴퓨터의 사용자 폴더 안에 들어가보면 아래 이미지와 같이
DB 명.mv.db
파일이 생성된 것을 볼 수 있습니다.
이 파일이 DB의 정보를 담고있는 파일이라고 보시면 됩니다.
4. JDBC URL설정하기
DB파일이 생성된 것을 확인하였다면
이후에는 JDBC URL을 바꿔줘야합니다.
(앞에서 한 경로설정은 파일의 위치를 통해 읽어오는 것이기 때문에
만약 이를 바꿔주지 않고 사용한다면 서버에 연동할 때 콘솔과 동시 접속으로 충돌이 나서 에러가 나게됩니다.)
URL을 다음과 같이 바꿔주시면 됩니다.
jdbc:h2:tcp://localhost/~/DB명
아래와 같이 설정해 주시고 연결을 누르면 잘 들어가지는 것을 볼 수 있습니다.
5. SpringBoot에 H2 DataBase 연동하기
5.1 Dependency 추가하기
먼저 H2 데이터 베이스를 넣기위해 Build.gradle 파일로 이동하여 다음과 같이 dependency를 추가해줍니다.
(이미 되어있는 분은 스킵하셔도 무방합니다)
1
2
3
4
5
6
7
|
dependencies {
//DB설정
runtimeOnly 'com.h2database:h2'
...
}
|
cs |
5.2 H2 데이터베이스 사용 설정하기
아래 이미지와 같이 스프링 프로젝트의 설정 파일로 이동하여 다음과 같이 적어줍니다.
(yml 또는 properties 파일)
url에는 본인의 h2 console에 나온 JDBC URL을 적어줍니다.
1
2
3
4
5
6
|
spring:
datasource:
url: jdbc:h2:tcp://localhost/~/board
username: sa
password:
driver-class-name: org.h2.Driver
|
cs |
이와같이 적어주고 실행해보면...
위 이미지와 같이 에러없이 무사히 잘 실행되는 것을 볼 수 있습니다ㅎㅎ
이상으로 H2데이터베이스 설치 및 SpringBoot 연동에 관한 포스팅을 마치겠습니다.
잘 이해가 안가는 부분이나 잘못된 부분이 있다면 알려주시면 감사드리겠습니다ㅎㅎ
감사합니다:)
'Backend > 게시판만들기' 카테고리의 다른 글
[SpringBoot]SpringDataJPA를 활용하여 회원가입 예제- Controller,Service,Repository의 역할및 구현 (3) | 2020.08.10 |
---|---|
[SpringBoot]SpringDataJPA를 활용한 회원가입 예제- View제작하기 (0) | 2020.08.08 |
[SpringBoot]DB구축을 위한 MySQL 및 Workbench 설치&SpringBoot 연동 (0) | 2020.08.05 |
[SpringBoot]View만들어보기-Controller와 View에 대하여 (0) | 2020.08.02 |
[SpringBoot]스프링부트 프로젝트 시작하기 (0) | 2020.07.29 |