1. Spring Boot Initializr
2. Lombok 설정
3. MySQL
// 한글 데이터 저장을 위해 character set utf8
create database shop default character set utf8 collate utf8_general_ci;
4. application.properties
# 애플리케이션 포트 설정
server.port = 80
# MySQL 연결 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver // 1
spring.datasource.url=jdbc:mysql://localhost:3306/shop?serverTimezone=UTC // 2
spring.datasource.username=root // 3
spring.datasource.password=12341234 // 4
# 실행되는 쿼리 콘솔 출력
spring.jpa.properties.hibernate.show_sql=true
# 콘솔창에 출력되는 쿼리를 가독성이 좋게 포맷팅
spring.jpa.properties.hibernate.format_sql=true
# 쿼리에 물음표로 출력되는 바인드 파라미터 출력
logging.level.org.hibernate.type.descriptor.sql=trace
spring.jpa.hibernate.ddl-auto=create // 5
spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect // 6
① DB 에 연결하기 위해 MySQL jdbc driver 설정
② 연결할 DB 의 URL, PORT, DB name 입력
③ DB 아이디
④ DB 비밀번호
⑤ DB 초기화 전략
- none : 사용하지 않음
- create : 기존 테이블 삭제 후 테이블 생성
- create-drop : 기존 테이블 삭제 후 테이블 생성, 종료 시점에 테이블 삭제
- update : 변경된 스키마 적용 (추가만 가능)
- validate : 엔티티와 테이블 간 정상적인 매핑 확인 및 검증
- 스테이징, 운영환경에서는 create, create-drop, update 사용 X, DB 에서 직접 DDL 명령어 수행
⑥ 각 DBMS 벤더에서 제공하는 SQL (=Dialect) 지정 (각 DBMS 마다 정해진 SQL 문법)