ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 01. 프로젝트 환경설정
    BackEnd/Spring Data JPA 2021. 10. 23. 12:20
    반응형

    1. 프로젝트 생성

    https://start.spring.io/

     

    2. 롬복 적용

    1) Preferences plugin lombok 검색 실행 (재시작)

    2) Preferences Annotation Processors 검색 Enable annotation processing 체크 (재시작)

    3) 임의의 테스트 클래스를 만들고 @Getter, @Setter 확인

     

    3. IntelliJ 설정 변경(실행속도 향상)

    1) Preferences Build, Execution, Deployment Build Tools Gradle

    2) Build and run using: Gradle IntelliJ IDEA

    3) Run tests using: Gradle IntelliJ IDEA

     

    4. H2 데이터베이스 설치

    1) https://www.h2database.com 다운로드 및 설치

       (h2 데이터베이스 버전은 스프링 부트 버전에 맞춰줍니다.)

    2) 권한 주기: chmod 755 h2.sh

    3) 데이터베이스 파일 생성 방법 jdbc:h2:~/datajpa (최소 한번)

    4) ~/datajpa.mv.db 파일 생성 확인 이후 부터는 jdbc:h2:tcp://localhost/~/datajpa 접속

     

    5. Spring Data JPA와 DB 설정

    spring:
      datasource:
        url: jdbc:h2:tcp://localhost/~/datajpa
        username: sa
        password:
        driver-class-name: org.h2.Driver
      jpa:
        hibernate:
          ddl-auto: create # 애플리케이션 실행 시점에 테이블 drop, 다시 생성
        properties:
          hibernate:
          # show_sql: true # System.out에 하이버네이트 실행 SQL을 남김
            format_sql: true
    logging.level:
      org.hibernate.SQL: debug # logger를 통해 하이버네이트 실행 SQL을 남김
    # org.hibernate.type: trace
    # 모든 로그 출력은 가급적 로거를 통해 남겨야 한다.

     

    6. Query Parameter Logging

      SQL의 Parameter를 로그로 남기는 외부 라이브러리

      Query Parameter를 로그로 남기는 외부 라이브러리는 시스템 자원을 사용하기에 개발 단계에서는 편리하지만 운영계 적용 시에는 성능테스트를 하고 적용하는 것이 좋습니다. 스프링 부트 사용 시 build.grade에 아래 라이브러리만 추가해주면 됩니다.

      > implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7'

    plugins {
    	id 'org.springframework.boot' version '2.5.6'
    	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    	id 'java'
    }
    
    group = 'com.spring.data'
    version = '0.0.1-SNAPSHOT'
    sourceCompatibility = '11'
    
    configurations {
    	compileOnly {
    		extendsFrom annotationProcessor
    	}
    }
    
    repositories {
    	mavenCentral()
    }
    
    dependencies {
    	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    	implementation 'org.springframework.boot:spring-boot-starter-web'
    	compileOnly 'org.projectlombok:lombok'
    	runtimeOnly 'com.h2database:h2'
    	annotationProcessor 'org.projectlombok:lombok'
    	testImplementation 'org.springframework.boot:spring-boot-starter-test'
    	implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.5.7'
    }
    
    test {
    	useJUnitPlatform()
    }

      Maven의 경우, pom.xml에 아래 라이브러리를 추가해주면 됩니다.

        <!-- [pom.xml] query parameter logging -->
        <dependency>
          <groupId>com.github.gavlyukovskiy</groupId>
          <artifactId>p6spy-spring-boot-starter</artifactId>
          <version>1.5.7</version>
        </dependency>

     

    7. 엔티티 생성

     

    GitHub - HanseomKim/SpringDataJPA

    Contribute to HanseomKim/SpringDataJPA development by creating an account on GitHub.

    github.com

     

    8. TEST

     

    GitHub - HanseomKim/SpringDataJPA

    Contribute to HanseomKim/SpringDataJPA development by creating an account on GitHub.

    github.com

     

    반응형

    'BackEnd > Spring Data JPA' 카테고리의 다른 글

    04. 사용자 정의 리포지토리  (0) 2021.10.26
    03. Query Method  (0) 2021.10.25
    02. Spring Data JPA  (0) 2021.10.25

    댓글

Designed by Tistory.