728x90
반응형
Mybatis에선 < 기호가 태그의 시작이기 때문에 parse오류가 납니다. 때문에 비교연산자를 사용해야 할때는 다른 방법으로 사용해야합니다.
1. 특수문자 코드로 변경
SELECT
USER
FROM USERTABLE
WHERE NUM < 5
< | < |
<= | <= |
> | > |
>= | >= |
& | & |
" | " |
2. <![CDATA[ ]]> 사용
SELECT
USER
FROM USERTABLE
WHERE NUM <![CDATA[ < ]]> 5
이렇게 특수문자 쪽에만 감싸줄 수가 있고
<![CDATA[
SELECT
USER
FROM USERTABLE
WHERE NUM < 5 AND NUM > 10
]]>
이렇게 쿼리 전체에 감싸는 방법도 있습니다. 그러나 이 방법은 정적 쿼리에만 사용해야합니다.
*주의할 점: CDATA안에서는 동적 SQL 사용 불가
728x90
반응형
'Programming > error' 카테고리의 다른 글
[Tibero] Expression is not in a GROUP BY clause. (0) | 2023.02.16 |
---|---|
[SVN] commit 할때 svn out of date 오류 (0) | 2023.02.03 |
prettier 오류 (0) | 2022.05.30 |
[Vue.js error] delete `␍`eslint 해결하기 (0) | 2022.05.08 |
[spring] Could not find 'tools.jar' in the active JRE. 오류 (0) | 2022.03.14 |