지난 시간 spring boot 프로젝트에 데이터베이스를 연결하지 않고 (관련 DB 정보를 property에 설정하지 않고) 프로젝트를 실행하니, 오류가 발생하였다.
DB를 연결하지 않으면 서버 실행조차 불가하다니, 처음 알게 된 사실이다. (그동안 업무하면서는 완성된 시스템의 소스와 DB를 통으로 세팅하여 개발했으니, 이 부분을 몰랐다. 😇
이번 기회에 배워서 다행이다 ~!)
이번 시간엔 해당 오류를 해결해보고자 한다.
아래 h2 database 홈페이지에서 설치 파일을 다운받는다.
https://www.h2database.com/html/main.html
다운 받은 파일의 압축을 풀면 다음과 같은 구성으로 되어 있다.
여기서 ./bin/h2.sh 를 입력하여 h2 console 을 실행한다.
만약 권한이 없다면 아래 명령어로 권한을 부여한다.
chmod 755 ./bin/h2.sh
h2 console을 실행한 모습
./bin/h2.sh
JDBC URL 을 아래처럼 변경해준 후, "연결" 을 클릭한다.
"연결" 을 진행하면, Root 폴더 (=soorim 폴더) 에 my-db-test.mv.db 가 생성된 것을 확인할 수 있다.
이후 다시 h2 console 에서 연결 끊기 후, jdbc:h2:tcp://localhost/~/my-db-test 로 접속해서 사용하면 된다.
jdbc:h2:tcp://localhost/~/my-db-test
: build.gradle 의 dependencies 에 아래 내용을 추가한다.
dependencies { // H2 runtimeOnly 'com.h2database:h2:' }
: application.yml 파일에 아래 내용을 추가한다.
spring: datasource: url: jdbc:h2:tcp://localhost/~/my-db-test username: sa password: driver-class-name: org.h2.Driver
그결과! 두둥 😎
tomcat 서버가 정상 실행되면서, localhost:8080 페이지에 정상 접속 가능한 것을 볼 수 있다 ~!
cf) h2 console
: h2 console은 앞으로 요 아이콘을 클릭해서 연결/ 연결해제 해주면 된다.
참고로 h2 console 이 연결되지 않은채로, spring boot 톰캣서버를 실행하면 구동이 안되니 꼭!! db 연결을 켜고 서버를 실행해줘야 한다.
cf) h2 database 테이블 생성
CREATE TABLE emp_table ( emp_id NUMBER NOT NULL, emp_name VARCHAR2(100) NOT NULL, gender VARCHAR2(10) NULL, age NUMBER NULL, hire_date DATE NULL, etc VARCHAR2(300) NULL, PRIMARY KEY (emp_id) );
emp_table 을 신규 생성해줬다.
드디어 spring boot 공부를 위한 개발환경들을 모두 셋팅해 주었다.
(Java 설치부터, vscode 확장팩 설치, spring boot 플젝 생성, h2 database 설치 및 연결까지 !!)
내 환경에 맞추어 셋팅을 하느라 시간이 좀 걸렸지만, 설정하면서 많은 것들을 배웠다.
다음 시간부터는 본격적으로 강의에서 배우는 실습들을 작성해보겠다.
(드디어 개발 환경세팅을 마치고 강의를 들을 수 있다. 역시 개발 공부할땐 환경설정이 가장 오래 걸리는 것 같다~)
https://bcp0109.tistory.com/315 ⭐️⭐️
: MacOS 에서 H2 database 설치 및 Spring Boot 에 연결
https://velog.io/@wonizizi99/Spring-Spring-Boot-%EC%97%90%EC%84%9C-H2-database-%EC%82%AC%EC%9A%A9%EB%B2%95
: [Spring] Spring Boot 에서 H2 database 사용법 , application.yml 설정
https://herojoon-dev.tistory.com/141
: Spring Boot에 H2 Database 설정, H2 Console 띄우기