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

[Spring] 쇼핑몰 - 29 상품 상세조회

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

 

 

row  첫번째로 전체를 감싼 후 ,

 col-6 으로 절반을 나누겠다고 선언,

  row col안에 3개의 row로 나누었다.

  row

  row

 

mb-3 은 마진 바텀으로 3을 주겠다는 것이다.


item-mapper.xml

아이템 상세보기를 위해 mapper를 새로하나 만들어준다.

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 컨트롤러

컨트롤러에서 model을 생성해 쿼리문을 item 이라는 이름으로 넣어주고,

이때 html에서 가져온 itemCode와 맞는 데이터를 조회한다.

item_list.html

item_list에서 itemCode를 가지고 컨트롤러로 갔기 때문에 해당 itemCode가 조회될 것이다.

item_detail.html

item 이라는 이름으로 itemVO 객체를 넘겼기 때문에, 내용은 여기서 detail.html에서 이렇게 뽑아쓰면 된다.

어려운건 이미지 뽑아내는 것인데, 이미지는 itemVO에 직접적으로 들어가있지 않다.

item-mapper.xml

쿼리에 IS_MAIN을 추가해주었고, 쿼리문의 빨간 박스는 ItemVO에 있는 imgList안에 있는 VO이다.

 

따라서 바로 뽑으려고하면 안되고,  ${item.imgList}로 for문을 돌려주면서

또 다시 img에서 attachedFileName(메인이미지)를 뽑아줄 수 있다.

 

 

728x90
반응형

댓글