특정월의 메인아이디 별로 매출을 뽑을려고 다음과 같이 코딩을 하였습니다.

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 들...)로 회신을 해주는 개념이였습니다.



Posted by 빨강토끼
,