쿼리를 작성하다 보면 부등호 (>,<) 를 사용해야 할 때가 있다. 그러나 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




이런 식으로 사용 할 수도 있다.



방금 댓글을 남겨주신 분이 추가 정보를 달아주셨다


> - &gt;
< - &lt;
>= - &gt;=
<= - &lt;=


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 &lt; 10
    AND 
        coulumB &gt; 4
    </select>
 
cs


+ Recent posts