IT/SQL

CDATA란?

벼락쟁이 2024. 5. 21. 15:15
728x90
반응형

CDATA란?

 - CDATA(Character Data) 뜻 그대로 '문자 데이터'를 의미합니다.

 - 마크업 언어 및  XML등에 사용되는 CDATA는 파싱처리된 문자가 아닌 표현 하고 싶은  '문자 데이터'를 의미하기

   위하여 사용됩니다.

 - 즉, XML은 파싱처리가 될 때 '<'와 같은 문자는 열기태그로 인식하기 때문에 열기태그가 아닌 순수 '<' 문자를

   표현하고 싶을때 CDATA를 사용한다고 생각하시면 됩니다.

 - 포맷 : <![CDATA[]]>

 

MyBatis에서 사용되는 CDATA는?

 - 쿼리 작성 시 '<', '>' 등 사용되는 부등호를 MyBatis에서는 .xml 파일로 이루어져 있어 쿼리에서 사용되는

   '<', '>' 등을 열기 태그, 닫기태그 등으로 인식하여 오류가 생기는 경우가 있습니다.

 - 사용법: <![CDATA[문자열]]>

   와 같이 문자열 부분에 표현하고 싶은 문자 데이터를 작성하면 됩니다.

 - <![CDATA[<]]> 와 같이 표현하면 xml이 파싱 될 때 열기태그로 인식하지 않고 문자 데이터 '<'로 표현됩니다.

 

 ex) MyBatis SQL 문에서의 CDATA 사용

<select>
    SELECT column_a, column_b, column_c
    FROM table_a
    WHERE column_a <![CDATA[<]]> 10 // WHERE column_a < 10 와 동일
</select>

 

728x90
반응형