반응형
CDATA 란
CDATA = Character DATA, 즉 문자형 데이터를 말한다.
<![CDATA[ ]]> 이렇게 선언하고 안에 문자열을 채워 넣으면 , [ ] 안에 있는 문장은 파싱되지 않고 그대로 문자열로 출력된다.
그래서 아래 참고 포스팅의 spring 예제에서 mapper 파일을 보면 이 문구 안에 쿼리가 들어가있다.
마이바티스에서 매퍼 파일은 XML으로 작성되어 있고, 파싱될 때 XML 표준으로 파싱된다.
SELECT문에는 조건을 걸어 쿼리하기 위해 <, >, = 등의 기호를 많이 사용하는데, 이것이 파싱 중에 태그로 인식되거나 하는 등의 문제가 생길 수 있다.
<![CDATA[ ]]> 안에 원하는 쿼리문을 선언 한다면, 파싱하지 않고 그대로 문자열로 인식 시킬 수 있어 이런 문제를 예방할 수 있다.
동적 SQL에서는 사용하지 못하는데, 필요한 특수문자에 한해서만 적용시키면 동적 SQL에서도 사용 가능하다.
참고 포스팅
https://thenicesj.tistory.com/56
반응형
'IT > Java' 카테고리의 다른 글
JSON Array 처리중 단일 데이터의 경우 문제(22.08.10) (80) | 2022.08.09 |
---|---|
오버로딩(Overloading)과 오버라이딩(Overriding) (67) | 2022.08.03 |
시간복잡도 계산 (65) | 2022.08.01 |
자바 문자열 비교 compareTO (26) | 2022.07.31 |
Map, Set, List 에 대해서 (40) | 2022.07.30 |
댓글