본문 바로가기
Database

[DB지식] MyBatis 사용 시 <!CDATA[ ... ]]> 사용 이유?

by 드럼치는 코린이 2021. 11. 1.
728x90
반응형

MyBatis 사용 시 쿼리문에 비교 연산자와 같이 부등호 처리가 필요할 때가 있다.

하지만 비교 연산자를 사용했을 경우 error를 발생시키는데 그 이유는 비교 연산자인지 괄호인지 구분하지 못하기 때문이다.

<select id ="list" parameterType="Integer" resultType="Hashmap">

SELECT *
FORM EMPLOYEES
WHERE SALARY > 100

</select>


위 예시처럼 비교 연산자를 사용했을 때 MyBatis는 괄호인지 비교 연산자인지 구분하지 못한다.
이런 경우에 CDATA를 사용하면 CDATA 안에 들어가는 문장을 문자열로 인식해 구분할 수 있도록 도와준다.

사용방법은 아래와 같다.

<select id ="list" parameterType="Integer" resultType="Hashmap">

<![CDATA[
SELECT *
FORM EMPLOYEES
WHERE SALARY > 100
]]>

</select>

 

728x90
반응형

댓글