부트캠프에서 했던 프로젝트를 보는데 <![CDATA[]]>를 많이 사용했었다.
그래서 어떤 경우에 쓰는 게 맞는지 다시 한번 정리해보려고 한다.
CDATA
Character DATA, 문자형 데이터를 의미
XML 파일에서 특수 문자를 태그가 아니라 데이터로 명시하고 싶을 때 사용
마이바티스에서 매퍼 파일은 XML으로 작성되어 있고, 파싱될 때 XML 표준으로 파싱됨
SELECT문에는 조건을 걸어 쿼리하기 위해 <, >, & 등의 기호를 많이 사용하는데, 이것이 파싱 중에 태그로 인식되거나 하는 등의 문제가 생길 수 있음
CDATA 안에 원하는 쿼리문을 선언 한다면, 파싱하지 않고 그대로 텍스트로 인식 시킬 수 있어 이런 문제를 예방 가능
동적 쿼리 작성 시 모두 감싸게 되면 동적 쿼리를 사용할 수 없어서, 특정 기호에만 CDATA로 감싸기
기존 코드
CDATA가 필요없는 부분에서도 작성한 경우가 많다.
리팩토링 하고 있으니까 전부 수정 해야겠다.

수정 코드
<select id="getPopularPropertyListByHitcount" resultType="Property">
select *
from property
where pstatus = '활성화'
order by phitcount desc
limit 4
</select>
참고
'프로젝트' 카테고리의 다른 글
| Git 여러 개의 repository 하나로 합치기 (0) | 2025.03.09 |
|---|---|
| 전화번호 문자 인증 구현하기 CoolSMS (0) | 2025.02.27 |
| Vue.js (Vue3) 결제 API 포트원 (아임포트) 구현하면서 리팩토링 (0) | 2025.02.03 |
| Spring Boot 결제 API 포트원 (아임포트) 구현하기 (0) | 2025.01.24 |
| VSCode에서 GitHub에 프로젝트 올리기 (0) | 2025.01.20 |