웹프로그래밍/spring~~
CDATA란?
발전하는개발자
2019. 7. 8. 02:13
Spring 프레임워크를 사용하여 XML에서 쿼리를 작성하다 보면
아래 처럼 <!CDATA[...]]>를 보게된다
<!CDATA[
SELECT
board_idx,
title,
hit_cnt,
DATE_FORMAT(created_datetime, '%Y.%m.%d %H:%i:%s') AS created_datetime
FROM
t_board
WHERE
deleted_yn = 'N'
ORDER BY board_idx DESC
]]>
사용이유
쿼리를 작성할 때 '<', '&'를 사용해야 하는 데 xml에서 그냥 사용할 경우 태그로 인식 하기 때문에
'<', '&'가 태그가 아닌 것을 알려주기 위해 <!CDATA[...]]>를 사용한다.
<!CDATA[...]]>를 사용하지 않으면 > 는 >로 표현 할수 있지만 HTML 특수문자 코드를 알아야 하고 가독성이 떨어지는 단점이 있다.
주의 할 점은
<!CDATA[...]]>를 쿼리 전체에 사용하면 동적 쿼리를 사용할 수 없어 특수문자가 있는 쿼리 부분만 <!CDATA[...]]>로 감싸면 동적 쿼리도 사용할 수 있다.
반응형