resultMap 이란?
<select id="test1" resultType="">
SELECT
O.MEMBER_ID as MEMBER_ID,
O.ORDER_ID as ORDER_ID,
O.PRODUCT_NAME as PRODUCT_NAME,
M.NAME as NAME,
M.EMAIL as EMAIL
FROM
T_ORDER O,
T_MEMBER M
WHERE
O.MEMBER_ID = M.ID AND M.ID = "user1"
</select>
resultMap 을 사용하는이유
위에 코드처럼 select를 만들어 두개의 테이블을 JOIN 할 경우 resultType="" 에 무엇을 써야할지 난감하다
1-1
하지만 resultType이 아니라 resultMap 으로 변경 후 원하는 명을 적어준다
<select id="test1" resultMap="test2">
SELECT
O.MEMBER_ID as MEMBER_ID,
O.ORDER_ID as ORDER_ID,
O.PRODUCT_NAME as PRODUCT_NAME,
M.NAME as NAME,
M.EMAIL as EMAIL
FROM
T_ORDER O,
T_MEMBER M
WHERE
O.MEMBER_ID = M.ID AND M.ID = "user1"
</select>
1-2
resultMap 을 만들어 type으로는 map id 는 위에 코드에서 resultMap 명으로 일치시켜준다
<resultMap type="map" id="test2">
</resultMap>
1-3
아래와 같이 column명은 select문의 column명을 적어주고 property는 자바에서 사용할 명을 적어준다
여기까지가 Mapper에서의 작성이 끝!
<resultMap type="map" id="test2">
<result column="Member_ID" property="memberId"/>
<result column="ORDER_ID" property="orderId"/>
<result column="PRODUCT_NAME" property="productName"/>
<result column="NAME" property="name"/>
<result column="EMAIL" property="emlai"/>
</resultMap>
1-4
DAO 에서 List<Map<String,Object>> 가 중요 Map형태의 데이터가 여러게?! 있기에 이러한 코드를 작성합니다.
public List<Map<String, Object>> selectTest1(){
return sqlSessin.selectList("order.test1");
}
1-5
다음은 역시 위 코드 DAO에서 return 해주었다면 받아주는 코드를 작성해야합니다.
@RequestMapping(value = "/test1")
public String test1(Model model) {
model.addAttribute("orderList", orderDAO.selcetTest1());
return "폴더명/파일명";
}
결과는 잘 출력되어서 나오는걸 확인 할 수 있었습니다.!
2) 번외 - resultType="map"
2-1 resultType으로 map을 해주어도 같은역활 !! 훨신 쉬다고 느껴질 수도 있으나 유지보수로는 위에 방법이 좋다
<select id="test1" resultType="map">
SELECT
O.MEMBER_ID as memberId,
O.ORDER_ID as orderId,
O.PRODUCT_NAME as productName,
M.NAME as name,
M.EMAIL as email,
FROM
T_ORDER O,
T_MEMBER M
WHERE
O.MEMBER_ID = M.ID AND M.ID = "user1"
</select>
'몰아 넣기' 카테고리의 다른 글
[JAVA/Spring] xml 파일을 통해 bean 설정하기! (0) | 2021.08.03 |
---|---|
[JAVA/Spring/MyBatis]동적 쿼리문이란? (0) | 2021.07.29 |
apache-tomcat 설치 및 설정 (0) | 2021.07.28 |
JDK 초기 환경설정 (0) | 2021.07.28 |
eclipse & JDK & Apache Tomcat 설치 파일 (0) | 2021.07.28 |