쿼리를 작성하다 보면 부등호 (>,<) 를 사용해야 할 때가 있다. 그러나 mybatis에서 사용하면 에러가 나는데
이때 해결방법을 알아 보자.
쿼리에 부등호 기호를 사용하면
The content of elements must consist of well-formed character data or markup.
라는 경고문구가 나타나기도 한다.
부등호 이외에도 '&' 같은 특수기호에서도 나타난다
이때 해결방법은 간단하다
<![CDATA ]]> 를 사용하면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <select id="loadCartList" parameterType="userInfoVO" resultType="cartVO"> <![CDATA SELECT * FROM table_name WHERE coulumA < 10 AND coulumB > 4 ]]> </select> | cs |
이렇게 쿼리를 CDATA로 감싸주면 된다.
혹은
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <select id="loadCartList" parameterType="userInfoVO" resultType="cartVO"> SELECT * FROM table_name WHERE <![CDATA coulumA < 10 AND coulumB > 4 ]]> </select> | cs |
이런 식으로 사용 할 수도 있다.
방금 댓글을 남겨주신 분이 추가 정보를 달아주셨다
> - >
< - <
>= - >=
<= - <=
CDATA를사용하지 않고 저렇게 HTML에서 사용하던 방식으로도 치환이 가능 하다
1 2 3 4 5 6 7 8 9 10 11 12 13 | <select id="loadCartList" parameterType="userInfoVO" resultType="cartVO"> SELECT * FROM table_name WHERE coulumA < 10 AND coulumB > 4 </select> | cs |
'Yame Programmer > SQL' 카테고리의 다른 글
[MSSQL] mssql에서 dual과 같은 가상 테이블 사용 하기 (0) | 2016.08.12 |
---|---|
[MSSQL] 값이 존재하는지 확인 후 update insert [EXISTS] 활용 (0) | 2016.08.12 |
[mysql,MariaDB] 150 mysql foreign key constraint is incorrectly formed (0) | 2016.07.18 |
[Mysql] 구분자를 이용해 값을 로우로 출력하기 (0) | 2016.07.14 |
[MySql,MariaDB] Like in 같이 쓰기 해결책 REGEXP (8) | 2016.07.13 |