[에러] 마이바티스(Mybatis) : 요소 콘텐츠 오류
- develop/back-side
- 2022. 8. 11.
SHORTCUT
반응형
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 424; columnNumber: 95; 요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다.
원인
- 위와 같은 오류는 MyBatis에서
<
,>
부등호 사용시 발생하는 에러<select id="selectGod" resultMap="resultGodDto"> select * from GOD where GOD_PRC > 9900 </select>
- 마이바티스는 위와 같이 태그
<select>
를 통해 쿼리를 감싸고 구성하는 마크업 형태를 취하고 있습니다.
- 이때,
>
중괄호를 사용하게 되면 마이바티스가 이를 닫는 태그로 인식하게 되어 에러를 반환하게 됩니다.
- 마이바티스는 위와 같이 태그
해결
<![CDATA[ ]]>
를 통해 부등호를 감싸서, 괄 호자 수문문자문자열
로 처리해주면 됩니다.
- 예시
<![CDATA[<=]]>
: 문제가 되는 부등호만 감싸거나
- 아래처럼 전체 쿼리를 감사는 경우도 있습니다.
<select id="selectGod" resultMap="resultGodDto"> <![CDATA[ select * from GOD where GOD_PRC > 9900 ]]> </select>
- 단, 전체 쿼리를 감싸는 경우 감싼 부분 안에
<if>
문 과 같이 중괄호를 사용하는 녀석이 없는지 확인하셔야 합니다!
- 단, 전체 쿼리를 감싸는 경우 감싼 부분 안에
반응형