본문 바로가기
✨ Back-end/Spring-Boot

[Spring] 쇼핑몰 - 28 상품 목록 리스트 조회하기

by 환풍 2023. 4. 4.
728x90
반응형

 

 


item-mapper.xml

유저에게 보이는 상품 리스트 쿼리문을 짜준다.

imgList는 itemVO안에 imgVO가 여러개 있다. imgVO안에는 attachedFileName이라는 변수가 있다.

imgList에 attachedFileName이 들어간다.

imgList에 있는 imgVO에 접근해서

이미지 뽑을때 조건이 IS_MAIN = 'Y' 때문에,  이 List안에는 imgVO가 하나밖에 안들어가있다.  

ItemService 인터페이스, 클래스

매개변수 및 리턴 타입 결정 방법(우선적으로 실행 시 쿼리를 작성)
매개변수 : 쿼리 실행 시 빈 값을 채울 용도
1. 쿼리에서 채워 줄 값이 없을 경우 : 매개변수 없음
2. 채워줄 값이 하나일 경우
2-1) 채워줄 값이 숫자인 경우 : 매개변수 int형 하나
2-2) 채워줄 값이 문자인 경우 : 매개변수 String형 하나
3. 채워줄 값이 여러개인 경우 : 매개변수는 VO 객체.

리턴타입 : 쿼리 실행 결과를 어떻게 받아올지에 대한 정의
INSERT, UPDATE, DELETE 쿼리 실행 결과는
리턴타입을 int 혹은 void 사용하면됨. int로 받을 땐 return 필요o  void는 필요x
SELECT 쿼리 결과의 리턴타입은 크게 두 가지로 나뉨.
조회결과 데이터가 무조건 한줄만 조회 : VO 객체.
조회 결과 데이터가 0줄이상 가변적일 경우 : List<VO> 객체.

ItemController 컨트롤러

쿼리문 조회 결과를 itemList라는 이름으로 html에 넘겨준다.

콘솔창에 println을 해보면 위와 같이 목록이 쮸르륵 뜬다.

 

item_list.html

컨트롤러에서 itemList이름으로 html에 보냈으므로 th:each로 하나씩 뽑아준다. 이때 뽑아주는 이름을 item으로 설정했고,

item.~~~ 으로 뽑아냈다. 이미지는 바로 뽑아낼 수 없다.src에서 item.imgList[0]으로 한 이유는,

현재 쿼리에 isMain이 함께 조회되지 않는다. *** Q

ItemVO

itemVO의 imgList 안에 있기 때문에, 한번 더 거쳐줘야한다.

 

728x90
반응형

댓글