초급의 끄적거림

[MyBatis] CDATA란 본문

Framework/myBatis

[MyBatis] CDATA란

codingD 2021. 7. 12. 21:29

<!CDATA[ ]]> 

  • 쿼리 작성시, < > & || 와 같은 특수 문자를 사용해야하는 경우가 있는데 xml 에서 그냥 사용할 때는 단순히 태그로 인식하는 경우가 있다. 때문에 '태그가 아닌 실제 쿼리에 필요한 코드' 라고 알려줘야 한다.
  • 이를 위해 사용하는 것이 <!CDATA[ ]]>이다.

 

사용법

  • <!CDATA[]]> 안에 특수문자가 포함되어 있는 쿼리를 사용함
SELECT * FROM DUAL
<!CDATA[
 WHERE ID <> 'TISTORY'
]]>

 

주의점

  • sqlMap이나 Mapper를 사용할 경우, 동적 쿼리를 사용하기도 하는데 <!CDATA[]]>를 사용하면, 해당 코드에서는 동적쿼리를 사용할 수 없다.
  • 따라서 동적 쿼리를 사용해야할 경우, 쿼리문 전체가 아닌 특수문자가 있는 코드에만 <!CDATA[]>를 사용하면 동적쿼리를 사용할 수 있다.
Comments