Section 1. 구매 내역 조회
1. OrderItemDto
- 주문 상품 정보를 담을 OrderItemDto 객체 생성
- 주문 상품 정보 (상품, 수량)와 상품의 이미지를 담고 있음
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F93c157e4-33c0-4e15-9b85-6e19a7a90bf0%2Fimage.png)
2. OrderHistDto
- 주문 정보를 담을 OrderHistDto 객체 생성
- 주문 정보내에 주문 상품 정보 List 존재
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2Fa5af1f0b-b408-4a2b-a25b-da827c9ffdd1%2Fimage.png)
3. 구매 내역 조회 리포지토리
- @Query 어노테이션을 이용하여 구매 내역을 조회
- SQL 문을 여러줄로 작성 시 마지막에 띄어쓰기 " " 필수
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2Fe486a5bf-072d-4e6e-8d7a-61444088e857%2Fimage.png)
4. 상품 대표 이미지 조회 리포지토리
- 구매 내역 페이지에서 주문 상품의 대표 이미지를 위한 조회
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F807200c3-19c3-45ba-890c-668c109edae7%2Fimage.png)
5. OrderService
- 주문 목록을 조회하는 로직 (메소드) 추가
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F7abc6f1a-c6d1-4022-b6a3-3ac644b4a23a%2Fimage.png)
- 동작 구조 및 원리
- order, orderItem Entity 객체를 각각 OrderHistDto, OrderItemDto 객체로 변환
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F928d6fd1-8b7f-4a0f-91ed-9e600982e868%2Fimage.png)
6. OrderController
- 로그인한 유저의 email 과 페이징 정보를 이용해서 구매 내역 Dto 객체를 담는 page 객체 생성 및 반환
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F03de54e5-e3c0-4d76-b6de-253668ed062a%2Fimage.png)
7. 구매 내역 페이지 View
8. 구매 내역 페이지 결과 화면
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F18fdb1af-57cf-42de-a717-7488eb468a5e%2Fimage.png)
9. 성능 최적화 적용
- application.properties 파일에 batch_fetch_size 설정 추가 (성능 최적화 원리)
![](https://velog.velcdn.com/images%2Fcodren%2Fpost%2F50e38d41-2e9b-4177-b6ac-4f5a56c31265%2Fimage.png)