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
반응형