MyBatis 에서 SelectList 사용법
특정월의 메인아이디 별로 매출을 뽑을려고 다음과 같이 코딩을 하였습니다.
sql.xml 소스
<mapper namespace="billMapper">
<select id="selectListByMonth" parameterType="String" resultType="List<net.red.vo.ResVo>">
SELECT B.MID, SUM(A.AMT_VAT)/1.1 AS AMT , SUM(A.AMT_VAT) AS TOT_AMT
FROM UTH A
WHERE DT LIKE #{value} || '%'
GROUP BY B.MID
</select>
</mapper>
a.java 소스
List<ResVo> listResVo = (List<ResVo>)session.selectList("mapper.selectListByMonth", yyyymm);
MyBatis 에 대하여 경험이 적는 저로서는 문제가 없어보이는 코드였다...
그런데 에러가 났습니다. 컴파일부터 안됐습니다....
구글을 뒤져봐도 한글로 된 제대로된 설명이 없었습니다. ㅜㅜ
심지에 MyBatis 공식 메뉴얼에도 설명을 잘 못찾겠었습니다.
안되는 영어를 보면서 알고 봤더니. 이유가 있었습니다.
너무 쉬운 계념이라서 그랬습니다. ㅡㅡ;
아래는 정상적으로 동작하는 소스입니다.
sql.xml 소스
<mapper namespace="billMapper">
<select id="selectListByMonth" parameterType="String" resultType="net.red.vo.ResVo">
SELECT B.MID, SUM(A.AMT_VAT)/1.1 AS AMT , SUM(A.AMT_VAT) AS TOT_AMT
FROM UTH A
WHERE DT LIKE #{value} || '%'
GROUP BY B.MID
</select>
</mapper>
a.java 소스
List<ResVo> listResVo = session.selectList("mapper.selectListByMonth", yyyymm);
즉...구지 resultType="List<net.red.vo.ResVo>" 라고 해서 정의하지 않아도
selectList 를 사용하면 <select> 에서는 net.red.vo.ResVo 라는 List
(즉 여러개의 ResVo 들...)로 회신을 해주는 개념이였습니다.