Spring boot kim's Shop/리팩토링

Springboot 예약내역 페이지 리팩토링! with left join

디비드킴 2021. 9. 19. 22:21

이전

원가+예약 내역 join 후 카드/카카오페이/가상계좌 이렇게 나눠져서 또 db를 들렀다가 왔다

현재 

left join으로 다 들고 오게 했다

 

dao

reservationDao.java

날짜 미지정 검색  @Query(value = "select a.*,b.price,c.*,v.*,k.* from reservation a inner join  product b on a.seat=b.product_name left join card c on a.payment_id=c.cmcht_trd_no left join vbank v on a.payment_id=v.vmcht_trd_no left join kakaopay k on a.payment_id=k.ktid where a.email=? order by a.id desc limit ?,?",nativeQuery = true)

날짜 지정 검색

 @Query(value = "select a.*,b.price,c.*,v.*,k.* from reservation a inner join  product b on a.seat=b.product_name left join card c on a.payment_id=c.cmcht_trd_no left join vbank v on a.payment_id=v.vmcht_trd_no left join kakaopay k on a.payment_id=k.ktid where a.email=? and a.r_date between ? and ? order by a.id desc limit ?,?",nativeQuery = true)

sql문에 대해 좀 더 공부해봐야겠다

sql에서 알면 알수록 편리한 거 같다

 

interface

getClientInter.java

join 해서 interface를 만들면 dto처럼 사용할 수 있다

 

결과

https://localhost:8443/showReservationPage.html
https://localhost:8443/showReservationPage.html
https://localhost:8443/showReservationPage.html

날짜 지정 검색

2021/9/27

https://localhost:8443/showReservationPage.html

 

2022/9/27

https://localhost:8443/showReservationPage.html

2023/9/27

https://localhost:8443/showReservationPage.html

2021/9/27~2023/9/27

https://localhost:8443/showReservationPage.html

잘 나온다 이제 예약 취소를 봐보자