Search

.yml 설정을 통한 데이터베이스 연결

Tags
Database
Date
2023/09/30

개요

스프링 부트에서는 대게 설정 파일로 .properties 나 .yml을 많이 사용하는데요, 이번 포스팅에서는 .yml을 통한 데이터 베이스 연결을 알아보도록 하겠습니다.

1. application.yml

spring: datasource: driver-class-name: org.h2.Driver username: sa password: url: jdbc:h2:tcp://localhost/~/test jpa: hibernate: ddl-auto: create # 옵션은 필요에 따라 변경 properties: hibernate: default_batch_fetch_size: 100 # 지연로딩 최적화를 위한 옵션 format_sql: true
Java
복사
대략적인 구조는 다음과 같이 생겼습니다.
주목할 부분은 ddl-auto 인데요, 어떤 설정을 하느냐에 따라 데이터베이스 스키마 생성 옵션이 변경됩니다.
크게 다섯 가지의 옵션으로 구분되는데 이는 다음과 같습니다.
create : 기존 테이블 삭제 후 다시 생성
create-drop : create와 같으나 종료시점에 테이블 drop
update : 변경 부분만 반영
validate : 엔티티와 테이블의 매핑 상태만 확인
none : 사용하지 않음
중요한건 개발 환경에 따라 어떤 옵션을 사용할지 주의해야 합니다.
예를 들어 운영 서버에는 절대 create, create-drop, update 등을 사용해서는 안됩니다.
(운영 서버의 데이터가 다 없어지는 사태가 발생하면 안되겠죠 )
개발 서버에서는 초기 단계에 create 혹은 update를 사용합니다.
테스트 서버는 update 또는 validate를 사용합니다.
운영 서버에서는 validate 또는 none을 사용합니다.