ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Mybatis XML에서 꺽쇠 쓰기
    IT/DB 2019. 5. 29. 08:21

    개요

    XML에서 꺽쇄를 써야하는 경우가 있다.

    많은 경우가 있지만 대표적 쉬운 예로, Mybatis에서 Mapper XML을 작성할때,

    WHERE절 내에서 조건연산자를 쓰고 싶을때 > 혹은 < 를 써야되는 순간들이 있다.

    SELECT
        name,age
    FROM
        tb_person
    WHERE
        age <= 20

     

    그냥 사용하게 되면

    The content of elements must consist of well-formed character data or markup.

    구글번역 : 요소의 내용은 올바른 형식의 문자 데이터 또는 마크 업으로 구성되어야합니다.

     

    이라는 에러메세지를 내뱉어준다.

    올바르지 않은 태그 문법으로 인식하여 에러를 발생시킨다.

     

     

     

     


    해결책

    <![CDATA[ ... ]]>라는 것이 있다.

     

    일단 CDATA가 무슨 뜻이냐 하면, 그것은 바로 'Character Data'. 즉, '문자 데이터'를 말하는 것입니다.

    그런데 이 용어를 좀 더 정확하게 말하면 '(Unparsed) Character Data'. 즉, '파싱하지 않는 문자 데이터'라는 뜻입니다.

    반대로, 파싱하는 문자 데이터는 'PCDATA'라고 부릅니다.

    출처: http://parkjuwan.tistory.com/156    

     

    XML를 뒤적거리다보면 꽤 자주 보이는놈인데, 저 ...안에 들어가는 모든 내용들은 단순히 그냥 문자열로 처리된다.

    > 또는 < 와 같은 태그문자들도 그냥 단순 문자열로 처리해주기 때문에 쿼리로 사용할 수 있게된다.

    SELECT
        name,age
    FROM
        tb_person
    WHERE
     	<![CDATA[
    		age <= 20
     	]]>

    이렇게쓴다.

     

     

    ==========끗==========

     

    댓글

다치지 말고 운동하자.