기록

[튜토리얼] springboot에 데이터베이스(h2) 연결하기(2) 본문

Web/Spring

[튜토리얼] springboot에 데이터베이스(h2) 연결하기(2)

youngyin 2022. 9. 1. 10:00

1. h2

H2는 자바로 작성된 관계형 데이터베이스 관리 시스템으로 환경설정이 비교적 쉬워 로컬 환경 및 테스트 환경에서 많이 사용한다.

개발환경
  • Mac OS(m1)
  • java 11
  • intellij IDEA 2022.2.1 (Ultimate Edition)
  • gradle

2. install h2

download h2(h2database.com/html/main.html)

connect h2

h2를 다운받은 곳으로 커맨드창을 열어서, h2.sh파일을 실행하면 자동으로 h2콘솔로 연결된다. (http://localhost:8082/login.jsp?jsessionid=...)

처음 접근했을 때에는 아래와 같은 오류가 발생하므로, 해당 경로에 '데이터베이스이름.mv.db'파일을 생성해야 한다.

우선 JDBC URL을 jdbc:h2:~/test로 변경하고 연결하면, 루트폴더에 '데이터베이스이름.mv.db'파일이 생성되어 있다.

그 다음, jdbc:h2:tcp://localhost/~/test로 연결하면, 다음과 같은 화면을 볼수 있다.

3. connect project

connection을 테스트 할때나 프로젝트에서 데이터베이스에 접근하기 위해서는 (./h2.sh)를 입력한 콘솔창이 계속 켜져 있어야 한다. 

add dependency
// build.gradle
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'

    implementation 'org.springframework.boot:spring-boot-devtools'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'

    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    // h2 추가
    runtimeOnly 'com.h2database:h2'
}
add resources/application.properties
spring.h2.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.h2.datasource.driver-class-name=org.h2.Driver
spring.h2.datasource.username=sa
spring.h2.datasource.password=
add Database

4. test

spring project를 기동하고 http://localhost:8080/h2-console에 접근하면 아래와 같은 h2콘솔에 접근할 수 있고, 설정한 정보를 입력하여 접속할 수 있다.

5. 마치면서

데이터베이스를 연결하였고, 이후 포스팅에서는 mapper로 mybatics를 두어 프로젝트에서 사용하는 데이터를 영속화하고자 한다. mySql과 h2 두 종류의 데이터 베이스를 연결해 보았으나, 데이터베이스를 설치하고- 프로젝트에 연결하는 순서로 진행되며 크게 다르지 않았다. 그래서 mapper를 연결하는 포스팅은 mySql과 h2 중 하나를 선택해 정리하고자 한다.

Comments