JPA
MySQL과 스프링 부트 연동하기
HipPopoTamUs
2024. 6. 14. 17:20
스프링부트에서 MySQL과 JPA를 연동하는 방법을 살펴보겠다.
1. build.gradle 설정
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'com.mysql:mysql-connector-j'
...
}
위 두줄이 필요하다.
2. application.yml에 DB 정보 추가
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:{포트번호}/{데이터베이스 이름}?useSSL=false&serverTimezone=Asia/Seoul&characterEncoding=UTF-8
username: root
password: {root password}
jpa:
hibernate:
ddl-auto: update
properties:
hibernate:
format_sql: true
dialect: org.hibernate.dialect.MySQLDialect
use_sql_comments: true
show-sql: true
logging:
level:
org.hibernate.SQL: debug
여기서 데이터베이스 스키마 자동생성 옵션을 설정하는 ddl-auto에 대해 알아보자면
create | 기존 테이블 삭제 후 다시 생성 DROP + CREATE |
create-drop | create와 같으나 종료시점에 테이블 drop (drop+table+drop) |
update | 변경분만 반영 (컬럼 추가는 반영하고 삭제는 반영안함) |
validate | 엔티티와 테이블이 정상 매핑되었는지만 확인 |
none | 사용하지 않음 |
데이터베이스 스키마 자동 생성 옵션 - 주의점 ❗
- 운영 장비에는 절대 create, create-drop, update 사용하면 안된다!
- 개발 초기 단계 - create 또는 update
- 테스트 서버 - update 또는 validate
- 스테이징과 운영 서버 - validate 또는 none