반응형
쿼리문에서 비교연산자나 부등호를 사용할 경우 '>', '=', '<', '&'.. 태그인지 실제 쿼리에 필요한 연산자나 부등호인지 알수없음
<![CDATA[ ]]> 태그안의 쿼리문은 XML Parser에 의한 해석이 아닌 문자열 그대로를 의미한다.
[예제]
<select id="getEmployee" resultType="EmployeeVO">
SELECT *
FROM EMPLOYEES
WHERE 1=1 AND
<![CDATA[
SALARY > 2000
]]>
</select>
위 쿼리문에서 <![CDATA[ ]]> 없이 WHERE절에 '>' 를 사용하는 경우 닫힌 태그로 인식하여 오류가 발생할 것이다.
※ <![CDATA[ ]]> 사용 시 주의점
<![CDATA[ ]]> 태그를 사용하면 동적쿼리를 사용할 수 없게된다. 동적쿼리와 <![CDATA[ ]]> 태그를 함께 사용하고 싶은 경우 쿼리문 전체를 감싸지 않고, 특수문자가 있는 코드만 감싸주면 된다.
반응형
'Mybatis' 카테고리의 다른 글
There is no getter for property named 'recordsPerPage' in 'class com.reviewer.portfolio.vo.paging.Criteria' 에러 해결 방법 (0) | 2022.03.24 |
---|---|
Mybatis 시작하기 (0) | 2022.01.10 |
<foreach> 문에 대하여 (0) | 2021.12.21 |