[Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - Quick Start 1

[Spring Data JPA] 예제 프로젝트 생성 및 초기 환경 구성 - Quick Start 1

Spring Data JPA를 직접 사용해보면서 조금이나마 경험을 해볼 수 있는 시리즈를 작성하고자 합니다.

이 글을 통해 프로젝트 생성을 시작으로 Spring Data JPA를 활용한 데이터베이스로부터의 데이터 조회, 생성, 수정 및 엔티티 정의부터 Spring Data JPA가 제공하는 다양한 기능을 사용하는데에 이르기까지를 전달하고자 합니다.

시작하기에 앞서 IDE는 JetBrains Intellij를 사용하고 빌드 도구는 Gradle을 기반으로 진행합니다.

예제 프로젝트 생성

해당 시리즈에서 필요한 최소한의 의존성만 선택해주도록 합니다.

프로젝트 생성 직후 프로젝트 디렉토리 구조

데이터베이스 스키마 생성

CREATE DATABASE tutorial CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'tutorial'@'%' IDENTIFIED BY 'tutorial'; CREATE USER 'tutorial'@'localhost' IDENTIFIED BY 'tutorial'; GRANT ALL PRIVILEGES ON tutorial.* TO tutorial@'%'; GRANT ALL PRIVILEGES ON tutorial.* TO tutorial@'localhost'; FLUSH PRIVILEGES;

필수 Configuration 작성

application.yml

spring: datasource: url: jdbc:mariadb://localhost:3306/tutorial username: tutorial password: tutorial driver-class-name: org.mariadb.jdbc.Driver jpa: show-sql: true properties: hibernate: format_sql: true hibernate: ddl-auto: update

프로젝트에 Spring Data JPA 의존성이 걸려 있으면 디폴트 설정으로 인해 DataSource 설정을 필수적으로 해주어야 됩니다. 해당 설정이 없는 경우 JPA 모듈을 사용할 수 없기 때문입니다.

spring.jpa.show-sql 설정은 repository method가 수행될 때 실제로 수행되는 SQL문을 콘솔에 출력해주고 spring.jpa.properties.hibernate.format_sql 설정을 통해 한 라인으로 길게 표시되는 로그의 형태를 비교적 이쁜 형태로 보여주도록 하는 설정입니다.

spring.jpa.hibernate.ddl-auto 설정은 Database Scheme 초기화 전략과 관련된 설정인데 가능한 설정 옵션으로는 다음과 같습니다.

none (Default) : 아무런 처리를 하지 않음

update : 변경된 스키마가 존재하면 갱신

validate : 변경된 스키마가 존재하면 종료

create : 기존 스키마를 초기화 후 다시 생성

create-drop : 기존 스키마를 초기화 후 다시 생성한 후 종료 시점에 초기화

from http://antdev.tistory.com/86 by ccl(A) rewrite - 2021-12-12 14:28:02