프로그래밍/Spring (jsp)
mybatis sql mapper 사용시 CDATA 사용시 주의점.
Crazy_Kong
2017. 1. 4. 11:47
비교 연사자 관련하여 오류가 발생되기 때문에 다음과 같이 사용한다.
<!CDATA[[ SELECT * FROM TB WHERE cDate > CURRENT_DATE() ]]> |
만약에 동적 쿼리를 사용하기 위하여 다음과 같이 사용할 경우 오류가 발생한다.
<!CDATA[[ SELECT * FROM TB WHERE cDate > CURRENT_DATE() <if test="a != null"> AND name = #{a} </if> ORDER BY name DESC ]]> |
위의 경우 비교연산자를 문자로 인식이 되지 않게 하기 위해 CDATA를 사용하였는데 <if 구문에서 문제가 발생한다.
이럴 경우 다음과 같이 분리해서 처리해야 한다.
<!CDATA[[ SELECT * FROM TB WHERE cDate > CURRENT_DATE() ]]> <if test="a != null"> AND name = #{a} </if> <!CDATA[[ ORDER BY name DESC ]]> |