resultMap(collection)

김덕근·2023년 5월 4일
0

Spring

목록 보기
14/19

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>
profile
안녕하세요!

0개의 댓글