애플리케이션과 디비를 연동해서 기존처럼 메모리에 저장하는게 아니라 디비에 insert 쿼리를 날리고, select 쿼리를 날려서 넣고 빼는 것을 해보겠습니다.
물론 20년 전 방식으로 해보겠습니다. 그렇기에 "그냥 이전에는 이렇게 했었구나" 이해하고 편하게 보고 넘어갑시다. 나중에 필요할 때 찾아보면 됩니다.
implementation 'org.springframework.boot:spring-boot-starter-jdbc' //...1
runtimeOnly 'com.h2database:h2' //...2
자바는 기본적으로 디비와 붙으려면 jdbc 드라이버가 꼭 있어야 합니다. jdbc를 가지고 서로 연동을 합니다.
디비랑 붙을 때 데이터베이스가 제공하는 클라이언트가 필요합니다. 그래서 h2database 클라이언트를 추가합니다.
H2의 의존성을 추가해준다고 생각하면 됩니다.
디비에 붙으려면 접속 정보가 필요합니다. 옛날에는 개발자가 다 설정했지만 요즘에는 스프링부트가 다 해주니 경로만 넣어주면 됩니다.
resources/application.properties에 추가합니다.
spring.datasource.url=jdbc:h2:tcp://localhost/~/test
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
JPA에 접근하려 했던 url을 넣어줍니다.
driver-class-name이란게 필요합니다.
H2 디비에 접근할 것이기 때문에 H2 드라이버를 넣어주면 됩니다.
[주의!] 스프링부트 2.4부터는 spring.datasource.username=sa 를 꼭 추가해주어야 합니다.
그렇지 않으면 Wrong user name or password 오류가 발생합니다. 참고로 다음과 같이 마지막에 공백이 들어가면 같은 오류가 발생합니다. spring.datasource.username=sa의 공백은 모두 제거해야 합니다.
여기까지 하면 데이터베이스에 접근하기 위한 준비는 다 완료되었습니다. 실행하면 스프링이 알아서 디비랑 연결하는 작업을 해줍니다.