앞서 개발한 회원관리 예제에 DB를 연결하는 과정을 보여드리겠습니다.
DB로는 H2 데이터베이스를 사용하도록 하겠습니다.
실제로 현업에서 로컬 테스트를 위해서 H2 데이터베이스를 사용한다고 하더라구요🙃
개발이나 테스트 용도로 가볍고 편리한 DB, 웹 화면 제공
다운로드
다운로드 및 설치
h2 데이터베이스 버전은 스프링 부트 버전에 맞춘다.
다운로드한 h2 폴더 내부에 bin 폴더에 h2.sh
파일이 존재 (h2/bin/)
권한 주기: chmod 755 h2.sh
실행: ./h2.sh
실행 시 발생할 수 있는 오류
오류 내용을 보면 Java 버전이 잘못됐다는 오류인데 (55 = Java 11, 52 = Java 8
) 참고
vi h2.sh # shell 파일을 열어서
# --- java -cp "$dir/h2-2.3.232.jar... 구문 상단에 작성해야 합니다. ---
export JAVA_HOME=실행할 때 사용하고 싶은 JAVA 버전의 경로 # ex) /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
# ---------------------------------------------------------------
쉘 파일을 닫고 다시 실행 ./h2.sh
데이터베이스 파일 생성 방법
JDBC URL: jdbc:h2:~/test
(최초 한번) → 연결
'~/test.mv.db
파일 생성 확인
jdbc:h2: tcp://localhost/~/test
로 수정해서 접속dependencies {
...
implementation 'org.springframework.boot:spring-boot-starter-jdbc' /* JAVA에서 DB랑 연결을 하기 위해서는 반드시 JDBC가 필요하다. */
runtimeOnly 'com.h2database:h2' /* DB에서 필요한 클라이언트를 h2를 사용한다. */
}
<!-- resources/application.properties */ -->
spring.datasource.url=jdbc:h2:tcp://localhost/~/test <!-- spring.datasource.url=jdbc:h2:~/test(최초 한 번) -->
spring. datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
DB 접속 정보를 Spring Boot에게 제공해서 Spring이 접속에 필요한 처리를 해주도록 하는 로직