심심한잉여의 잡동사니

[Mybatis/마이바티스] 꺽쇠(<,>)가 읽히지 않는 경우 CDATA 본문

코딩일기/마이바티스

[Mybatis/마이바티스] 꺽쇠(<,>)가 읽히지 않는 경우 CDATA

심심한잉여 2022. 7. 27. 08:39
반응형

XML을 사용하다보면 비교연산을 하려고 사용한 꺽쇠로 인해 흐틀어지는 경우가 발생하여
마이바티스가 이상하게 작동하는 경우가 있다.
이 경우 해결하는 방법으로는 CDATA를 사용하는 방법이 있다.
Character Data의 약자이며 문자 데이터를 말하는 것이다.
그런데 이 용어를 좀 더 정확하게 말하면 (Unparsed) Charater Data 즉 파싱하지 않는 문자 데이터를 뜻한다.

XML에서 쿼리 사용 시 아래와 같이 작성한다면

<select id="testInsert">
SELECT
	EMP_NAME
FROM
	EMP
WHERE
	SALARY > 25000000
</select>

꺽쇠로 인해 작동을 안하는 경우가 발생할 수 있다.
이러한 경우에는

<select id="testInsert">
SELECT
	EMP_NAME
FROM
	EMP
WHERE
	<![CDATA[
		SALARY > 25000000
 	]]>
</select>

위와 같이 하거나 아래와 같이 하는 방법이 있다.

<select id="testInsert">
SELECT
	EMP_NAME
FROM
	EMP
WHERE
	
	SALARY <![CDATA[>]]> 25000000
 	
</select>

예시 처럼 꺽쇠를 문자로 만들어주는 XML 문법인 CDATA를 사용하면 해결된다.

반응형