본문 바로가기
Spring/Spring Data JPA

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

by 임채훈 2021. 12. 12.

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

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

 

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

 

# 해당 시리즈 게시글은 Notion에서 작성된 내용을 그대로 옮겨오는 과정에서 서식의 깨짐 및 부자연스러움이 발생할 수 있습니다. 

 

예제 프로젝트 생성

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

 

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

 

데이터베이스 스키마 생성

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 : 기존 스키마를 초기화 후 다시 생성한 후 종료 시점에 초기화

프로젝트 전체 소스 코드는 아래 Github에서 참고 가능합니다.

Github Source Code

 

GitHub - youspend8/spring-data-jpa-tutorial

Contribute to youspend8/spring-data-jpa-tutorial development by creating an account on GitHub.

github.com

댓글