본문 바로가기
[개발] 프레임워크/MyBatis

MyBatis에서 조회 쿼리 결과 resultMap 확장하는 방법

by Devsong26 2024. 11. 13.

기존에 사용되고 있는 resultMap을 확장하여 새로운 resultMap을 정의하는 것이 필요했습니다. 

 

extends 키워드를 사용하면 확장할 수 있습니다. 

 

다음은 예시 코드입니다.

 

<!-- 공통 속성ㅇ르 정의한 resultMap -->
<resultMap id="BaseResultMap" type="com.example.BaseEntity">
    <id property="id" column="id" />
    <result property="name" column="name" />
</resultMap>

<!-- ChildResultMap: BaseResultMap 재활용 -->
<resultMap id="ChildResultMap" type="com.example.Child" extends="BaseResultMap">
    <!-- BaseResultMap의 프로퍼티들을 재사용하면서 추가 필드를 정의할 수 있습니다. -->
    <result property="age" column="child_age"/>
</resultMap>

<!-- ParentResultMap: BaseResultMap 재활용 -->
<resultMap id="ParentResultMap" type="com.example.Parent" extends="BaseResultMap">
    <!-- 자식 객체 리스트 포함 -->
    <collection property="children" ofType="com.example.Child" resultMap="ChildResultMap"/>
</resultMap>