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[...]]>로 감싸면 동적 쿼리도 사용할 수 있다.
반응형
'웹프로그래밍 > spring~~' 카테고리의 다른 글
스프링 어노테이션 정리~ (0) | 2019.07.22 |
---|---|
spring project groupid, artifactid 네이밍 (0) | 2019.07.15 |
@Data 어노테이션 (0) | 2019.07.10 |
5장 1. Logback (0) | 2019.07.08 |
gradle 의존성 옵션들 (0) | 2019.06.10 |
Maven vs Gradle (0) | 2019.06.05 |
maven wrapper (0) | 2019.06.05 |
Maven 이란~ (0) | 2019.06.05 |