DB
연결스프링 부트에서는 하나의
RDB
에 대해서Configuration
클래스를 작성하지 않고, 변수 설정을 통해 데이터베이스 연결을 진행한다.Config
클래스에 자바 코드를 작성할 필요 없이resources
경로 아래에 존재하는application.properties
또는application.yml
파일에 데이터베이스 변수 설정을 통해DB
연결이 가능하다.
*MySQL
에 접속을 위한 MySQL IP
, 포트, 아이디, 비밀번호, 데이터베이스 이름이 필요하다.*spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://***<IP>***:***3306***/***<DBname>***?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul&allowPublicKeyRetrieval=true
spring.datasource.username=***<id>***
spring.datasource.password=***<pw>***
MySQL
과 Spring Data JPA
를 위한 필수 의존성
Spring Data JPA
MySQL Driver
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
*DDL
관련 설정*
resources
경로 아래에 존재하는 application.properties
파일에 DB
연결과 함께 DDL
관련 설정도 가능하다.DDL
설정을 통해 스프링 부트 프로젝트에 존재하는 Entity
를 기반으로 MySQL DB
에 테이블 자동 생성이 가능하다.<aside> ✨
| none
| 아무 작업도 하지 않음 (대부분 기본값)
Hibernate
가 DDL
을 관리하지 않음 (보통 수동 관리 시 사용) |
| --- | --- |
| create
| 애플리케이션 실행 시 기존 테이블 삭제 후 다시 생성 |
| create-drop
| create
와 동일하지만, 앱 종료 시 테이블도 삭제 |
| update
| 엔티티와 DB
테이블 구조를 비교해 자동 수정(개발용으로는 편하지만 운영에서는 위험) |
| validate
| 엔티티와 테이블이 일치하는지 검증만 하고 수정은 하지 않음 |
</aside>