작성한 쿼리문을 mybatis에서 사용할때 오류가 발생했다
쿼리 작성시 결과는 잘나오는데 mybatis에서 왜 오류가 났는지 찾아보니
Mybatis는 XML에 쿼리문을 작성시 부등호를 바로 사용하는 경우,
태그에 존재하는<tag>
꺽쇠와 동일하게 인식하여 파싱에러가 발생 한다고 한다
위와같이 XML에 부등호를 사용해야 하는 경우
<![CDATA[ ]]>
로 감싸서 표기해야 부등호로 인식을 한다
<![CDATA[ ]]>
사용하는 경우MyBatis에서 쿼리문을 작성할 때 '<', '>', '&' 같은 특수문자를 사용하면 XML은 이를 문자열이 아닌 XML 태그로 인식하여 오류가 발생한다
이때 특수문자를 XML 태그가 아닌 문자열로 인식하게 하기 위해 CDATA<![CDATA[ ]]>
를 사용 하거나 HTML 특수문자 코드를 사용한다
CDATA <![CDATA[...]]>
를 사용하는 경우 동적 쿼리문을 사용할 수 없기 때문에 쿼리문 전체가 아닌 특수문자가 포함된 코드에만 <![CDATA[...]]>
를 사용해야 한다
<
= <
>
= >
;
&
= &
;
>
= >
<
= <
>=
= >=
<=
= <=