본문 바로가기

MyBatis

마이바티스[MyBatis] 에서 <!CDATA[]]> 란?

728x90
반응형
SMALL

마이바티스에서 mapper 파일에 XML으로 작성 되어 있고, 파싱 될때 XML 표준으로 파싱됨.

 

1.Member 테이블이 있다고 가정.

2.Member 테이블 안에 age 컬럼이 존재한다고 가정

 

[나이(age)가 20살 이상인 사람을 조회해라!]

 

SELECT * FROM  Member where age >= 20;

 

보통 이런식으로 sql 을 짜게 된다.

 

하지만 XML 에서는 파싱 될 시점에, < , >, = 같은 기호들이, 태그로 시작점으로 인식이 되거나 파싱할때의 오류를 내뱉을수가 있다.

 

이럴 떄!

 

<!CDATA[]]> 사용하면 된다!!!

 

CDATA = Character DATA , 즉 문자형 데이터를 뜻함.

 

<!CDATA[]]> 테그안에 쿼리문을 작성 한다면, 파싱하지 않고 문자열 그대로를 인식 시킬수 있어 위에 말했던 문제를 해결할 수 있다.

 

예)

<![DATA[

SELECT * FROM Member where age >= 20;

]]>

 

 

 

728x90
반응형
LIST