<select id="select_excute" parameterClass="cxf.demo.dao.excute.req.TableSelectVo" resultClass="xml">
    $sql$
</select>

위 설정을 보면 select sql 문을 직접 받아서 실행한 결과를 XML로 받는 sample이다.
위 예제 처음에 한번은 제대로 동작하지만.. 쿼리를 수정해서 보내면.. 이전 ResultMap 을 물고 있는 관계로 자꾸 column을 찾을 수가 없다고 나온다. 뭐.. 내부적으로 성능을 위해서 caching을 하는거 같은데.. 중요한건 요넘 어떻게 해야 하는지 도통 찾을수가 없다.
spring SqlMapClientFactoryBean을 봐도 없고.. ibatis SqlMapClient 을 봐도 답이 안보이고.. 구글링을 해도 실력이 부족하지 않보이더라..
포기할까 하다.. "http://ibatis.apache.org/dtd/sql-map-2.dtd" 요넘을 한번 보자라는 생각이 들었다. ㅋㅋ
<!ELEMENT statement (#PCDATA | include | dynamic | iterate | isParameterPresent | isNotParameterPresent | isEmpty | isNotEmpty | isNotNull | isNull | isNotEqual | isEqual | isGreaterThan | isGreaterEqual | isLessThan | isLessEqual | isPropertyAvailable | isNotPropertyAvailable)*>
<!ATTLIST statement
id CDATA #REQUIRED
parameterMap CDATA #IMPLIED
parameterClass CDATA #IMPLIED
resultMap CDATA #IMPLIED
resultClass CDATA #IMPLIED
cacheModel CDATA #IMPLIED
resultSetType (FORWARD_ONLY | SCROLL_INSENSITIVE | SCROLL_SENSITIVE) #IMPLIED
fetchSize CDATA #IMPLIED
xmlResultName CDATA #IMPLIED
remapResults (true|false) #IMPLIED
timeout CDATA #IMPLIED

remapResults <- 요넘 대충 봐도.. result map 로딩하는거 설정하는 놈 같아 보여서 찍었는데... 제대로 찍었다. 학교댕길때 찍을때는 그렇게 안맞더니.. 쩌ㅃ~
<select id="select_excute"  parameterClass="cxf.demo.dao.excute.req.TableSelectVo" resultClass="xml" remapResults="true">
        $sql$
</select>


빨간색 넘으로 테스트 해보면 제대로 돌아간다. 까먹지 말고.. 난중에 필히 적용하자.. 쩌ㅃ~

'framework > ibatis' 카테고리의 다른 글

[Mybtis] - log interceptor  (0) 2014.10.24
[ibatis] - 오류  (0) 2010.07.06
Posted by 짱가쟁이