ResultMap
을 사용하면 복잡한 결과를 객체에 간단히 매핑할 수 있다.
사용 방법은 간단하다. User
라는 객체가 있을 때 아래와 같이 <resultMap>
을 작성하면 된다.
public class User {
private String name;
private int age;
}
<resultMap id="userResultMap" type="User">
<result property="name" column="user_name" />
<result property="age" column="user_age" />
</resultMap>
<select id="selectUser" resultMap="userResultMap">
SELECT user_name, user_age
FROM USERS
</select>
만약 클래스간 포함관계, 즉 멤버변수로 다른 객체를 가지고 있다면 <associaion>
을 이용해 매핑해 줄 수 있다.
조인을 하거나 보다 복잡한 매핑에서 훨씬 유용하다.
public class Address {
private String zipcode;
private String address;
}
public class User {
private String name;
private int age;
private Address address;
}
<resultMap id="userAddressResultMap" type="Address">
<result property="zipcode" column="ZIPCODE" />
...생략
</resultMap>
<resultMap id="userResultMap" type="User">
<result property="name" column="user_name" />
<result property="age" column="user_age" />
<asssociation property="address" resultMap="userAddressResultMap" />
</resultMap>
'STUDY > Spring' 카테고리의 다른 글
Mockito | @Mock, @InjectMocks (0) | 2022.04.06 |
---|---|
Spring Boot | Spring Security JWT 인증 처리 과정 (1) | 2022.02.10 |
Spring Boot | Request 마다 로그 찍기 (0) | 2022.01.21 |
Spring Boot | war 빌드, 외부 톰캣 사용 (WAS에 배포하기) (0) | 2021.11.22 |
Spring | JDBCTemplate 사용하기 (0) | 2021.11.19 |