H2 설치하기
윈도우 설치 버전
https://h2database.com/h2-setup-2019-10-14.exe
윈도우, 맥, 리눅스 실행 버전
https://h2database.com/h2-2019-10-14.zip
JPA와 DB 설정 동작 확인
Application.yml 설정

- JPA 관련 설정을 한다.
- spring.jpa.hibernate.ddl-auto: create
- 이 옵션은 애플리케이션 실행 시점에 테이블을 drop 하고, 다시 생성한다
- show_sql : 옵션은 System.out 에 하이버네이트 실행 SQL을 남긴다.
- show_sql 옵션은 System.out 에 하이버네이트 실행 SQL을 남긴다.
- org.hibernate.SQL : 옵션은 logger를 통해 하이버네이트 실행 SQL을 남긴다.
Member 엔티티 생성

MemberRepository 생성

MemberRepositoryTest

TDD
실제 DB를 확인해 보면 데이터가 비어있다
- Why? Test에 Tranactional이 있다면 자동으로 롤백을 해주기 때문
- @Rollback(false)를 해주게 되면 데이터가 저장된다
Build 해보기
- ./gradlew clean build
- cd build/libs
- java -jar jpashop-0.0.1-SNAPSHOT.jar

내가 만든 프로젝트가 빌드되어 실행된다.
쿼리 파라미터 로그 남기기


파람 로그 확인
부족한 경우, 외부 라이브러리 활용
https://github.com/gavlyukovskiy/spring-boot-data-source-decorator
GitHub - gavlyukovskiy/spring-boot-data-source-decorator: Spring Boot integration with p6spy, datasource-proxy, flexy-pool and s
Spring Boot integration with p6spy, datasource-proxy, flexy-pool and spring-cloud-sleuth - GitHub - gavlyukovskiy/spring-boot-data-source-decorator: Spring Boot integration with p6spy, datasource-p...
github.com
- build.gradle에 추가
- implementation 'com.github.gavlyukovskiy:p6 spy-spring-boot-starter:1.5.6'


- 운영단계에서는 해당 로그를 남기는 기능을 사용하게 되면 성능에 영향을 미칠 수 있으므로 성능 테스트 후 적용할지 말지를 판단하자 -> 왠만하면 개발단계에만 적용
'실전! 스프링 부트와 JPA 활용1(웹 애플리케이션 개발)' 카테고리의 다른 글
| Ch01. 프로젝트 환경설정 - View 환경 설정 (0) | 2022.04.24 |
|---|---|
| Ch07. 웹 계층 개발 - 주문 목록 검색, 취소 (0) | 2021.12.07 |
| Ch07. 웹 계층 개발 - 상품 주문 (0) | 2021.12.07 |
| Ch07. 웹 계층 개발 - 변경 감지와 병합(merge) (0) | 2021.12.07 |
| Ch07. 웹 계층 개발 - 상품 수정 (0) | 2021.12.07 |