selectImageList의 조회 결과를 BoardDetail의 VO의 imageList 필드에 담겠다.
-> imageList에 담기위한 ArrayList 객체를 생성
(javaType="java.util.ArrayList" ofType="boardImage")
-> selectImageList 태그 수행 시 필요한 파라미터는
현재 resultMap("detail_rm")의 BOARD_NO 컬럼에 저장된 값을 전달하겠다.
게시글 상세 조회 후 detail_rm resultMap이 호출 되었을때
상세 조회 결과 중 BOARD_NO 이용해서 selectImageList를 수행하고
결과를 imageList 필드에 세팅한다.
collection
property="imageList"
BoardDetail의 VO의 private List<BoardImage> imageList 필드
javaType="java.util.ArrayList" ofType="boardImage"
ArrayList<BoardImage>
select="selectImageList"
수행할 select문의 id 속성값 호출
column="BOARD_NO"
<!-- 게시글 상세 조회용 resultMap --> <resultMap type="detail" id="detail_rm"> <id property="boardNo" column="BOARD_NO" />
호출 되었을때 BOARD_NO 이용해서
<!-- 특정 게시글 이미지 목록 조회 --> <select id="selectImageList" resultMap="boardImage_rm"> SELECT * FROM BOARD_IMG WHERE BOARD_NO = #{boardNo} ORDER BY IMG_LEVEL </select>
<!-- 게시글 상세 조회용 resultMap -->
<resultMap type="detail" id="detail_rm">
<id property="boardNo" column="BOARD_NO" />
<result property="boardTitle" column="BOARD_TITLE" />
<result property="boardContent" column="BOARD_CONTENT" />
<result property="createDate" column="CREATE_DT" />
<result property="updateDate" column="UPDATE_DT" />
<result property="readCount" column="READ_COUNT" />
<result property="memberNickname" column="MEMBER_NICK" />
<result property="memberNo" column="MEMBER_NO" />
<result property="profileImage" column="PROFILE_IMG" />
<result property="boardName" column="BOARD_NM" />
<collection property="imageList" column="BOARD_NO"
javaType="java.util.ArrayList" ofType="boardImage" select="selectImageList"/>
</resultMap>
<!-- 이미지 정보 조회용 resultMap -->
<resultMap type="boardImage" id="boardImage_rm">
<id property="imageNo" column="IMG_NO" />
<result property="imageReName" column="IMG_RENAME" />
<result property="imageOriginal" column="IMG_ORIGINAL" />
<result property="imageLevel" column="IMG_LEVEL" />
<result property="boardNo" column="BOARD_NO" />
</resultMap>
<!-- 특정 게시글 이미지 목록 조회 -->
<select id="selectImageList" resultMap="boardImage_rm">
SELECT * FROM BOARD_IMG
WHERE BOARD_NO = #{boardNo}
ORDER BY IMG_LEVEL
</select>