SpringBoot/MyBatis

    [MyBatis] 쿼리 입력시 CDATA사용 이유

    이와 같이 MyBatis의 Mapper에 xml 쿼리 문을 지정해줄때, 을 항상 쓰는 것을 발견했다. 하지만 CDATA를 안써도 잘 돌아간다. 그렇다면 왜 쓰는가 그 이유는 바로 쿼리문 안의 특수문자를 xml문서의 내용으로 오인하지 않도록 하기 위함이다 예를 들어 쿼리문 안의 조건문에서 '>'와 같은 문자가 들어가면 잘못 실행되기도 한다. 이를 방지하기 위함이다. 즉 안의 내용을 문자열로 인식하기 때문에 이 것을쓰는것이다