<if test='예시 != null'>
조건(ex where COUPON = #{COUPON}
</if>
<if test='NAME != null'>
AND NAME LIKE CONCAT('%', #{NAME}, '%')
</if>
배열의 경우 foreach로 조합
<if test='COUPON_STATUS != null'>
AND COUPON.COUPON_STATUS IN
<foreach item="item" index="index" collection="COUPON_STATUS" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<>(부등호),&(앤드),||(오아) 등을 닫는 부등호가 아니라 문자열로 처리하라는 뜻
<![CDATA[ 쿼리내용(부등호 등) ]]>
예) IF( 11 <![CDATA[ > ]]> 10, '크다', '작다')
INSERT INTO EVENT_TABLE (EVENT_ID, EVENT_TIME, TITLE, `DESC`)
위 같이 DESC를 백틱(`)으로 감싸줘야함
select * from people where #{value} = "홍길동"
위와 같은 내용에서 value = "name"라면 위의 경우는 ~"name" = "홍길동"으로 되기에 오류가 난다. 이럴 땐 ${value}를 이용하면
~name = "홍길동"으로 출력가능
예시)
select concat(a,b) AS TEST
from DB
<if test='TEST != null'>
HAVING TEST LIKE CONCAT('%', #{TEST}, '%')
</if>