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[...]]>를 사용하지 않으면 > 는 &gt로 표현 할수 있지만 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
블로그 이미지

발전하는개발자

나의 인생에 필요한 정보들(프로그래밍, 철학, 운동...)

,