상세 컨텐츠

본문 제목

초짜의 iBatis 오류와의 싸움 (1)

Programming/iBatis

by otamot 2008. 2. 1. 17:22

본문

iBatis 완전 초짜입니다. 처음 보는 상황인데도 sample 소스를 보고 있습니다 ^^
그러니 오류가 발생하면 무지 헤매고 있습니다^^
다음의 오류가 발생해서 한참 걸렸습니다.
...
Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'.  Cause: com.ibatis.sqlmap.client.SqlMapException: There is no result map named content in this SqlMap.
    at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123)
    at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84)
    at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102)
    at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72)
    at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:60)
...
위의 내용만을 가지고 인터넷에서 한참 찾았더니 참으로 여러 종류의 글이 많았습니다. 한참 헤매다가 결국 중요한 오류 내용은 다음 내용이었습니다.
    ... 42 more
Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no result map named content in this SqlMap.
    at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getResultMap(SqlMapExecutorDelegate.java:357)
    at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:72)
    at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$22.process(SqlMapParser.java:581)
    at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
    ... 46 more
'content'라는 result Map이 존재하자 않는다는 내용입니다.
sqlMapConfig.xml의 내용은 다음과 같습니다.
<sqlMapConfig>
    <settings useStatementNamespaces="true"/>
    <typeAlias alias="content" type="com.otamot.domain.Content"/>
    <sqlMap resource="com/otamot/dao/model/Content_SqlMap.xml"/>
</sqlMapConfig>
Content_SqlMap.xml의 내용은 다음과 같습니다.
<sqlMap>
  <select id="getContent" parameterClass="int" resultMap="content">
  <![CDATA[
    SELECT SQL_ID, CREATED_DATE, TITLE, CONTENT,CONTENT_TYPE
    FROM CONTENT
    WHERE SQL_ID=#id#
  ]]>
  </select>
</sqlMap>
위의 내용에서 다음이 문제였습니다.
    <select id="getContent" parameterClass="int" resultMap="content">

이 경우에는 resultMap이 아니라 resultClass로 해야 옳습니다.
그렇게 변경하고 나니 오류가 없었습니다. iBatis가 초짜한테 와서 무지 고생하고 있습니다. ^^



관련글 더보기