
작성한 쿼리문을 mybatis에서 사용할때 오류가 발생했다

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