20221011_mon
두 개이상 테이블 조인으로 하는경우 실무에서 사용 많다.
테이블 여러개 조회하게된다.
하지만,
이럴 때 어떻게 테이블 데이터를 가져오는지가 관건이다.
콜렉션/어소시에션
마이바티스에서 사용하는 기능
우선, 사용하기이전 두 테이블이상의 관계를 명확히 알아야한다.
카테고리
상품
상품_이미지 정보테이블
위 세개의 테이블을 모두 연결할 것이다.
이들의 관계를 생각해보자.
- collection
- cate(기준) : item -> 1 : N collection
- (item(기준) : cate -> N : M....프로그래밍하기 어렵다...)
- item(기준) : img -> 1:N collection
- 아이템목록을 조회하면 컬렉션관계로 하나의 아이템에는 이미지파일도 여러개가 존재한다.
하지만 이미지의 아이템코드는 모두 동일하게 (ex)item_008 여러개..)로 들어가기때문에 실제로는 하나의 상품의 여러개의 이미지는 하나의 아이템코드만 들어있다.
- <설명을 위한 참고>
- 디비_상품목록조회해보자.
: 이미지정보가 등록된 상품목록조회만 된다.
: 이미지정보가 등록되지 않은 상품목록들도 조회가 가능하게하려면 아우터조인을 사용한다.
(테이블조회 아래부분에는 이미지정보가 없는 데이터들도 조회가된다)
- 위의 경우, 아우터조인사용은 이미지정보가 첨부되지않은경우가 있을시를 위해 이해를 돕기위한 설명일뿐, 실제는 아우터조인을 사용하지않고 이미지첨부되는 상품등록을 한 뒤, 상품목록조회로 하기로 한다.
: 각각 resultMap에 있는 변수명 데이터들을 그대로 잘 데리고 온다.
실제로 이미지첨부된 첨부파일명은 imgList의 ImgVO에 attachedName으로 데리고 오는 것을 확인 할 수 있다.
파일명: for문