天天看点

ibatis 的<![CDATA[干嘛的

一直写sql语句都是直接copy,写自己想要的,今天看了下究竟这个<![CDATA[是干嘛的

居然很简单,只是为了让系统知道,并且识别到一些特殊字符,以“]]>”结束

只有以下几种情况才需要,特殊注意,下面说:

< &gt;  小于号

> &lt;  大于号

& & 和

&apos; ' 单引号

" " 双引号

<![CDATA[
select MICRO_TYPE,
MICRO_NO,
TASK_NO
from PA18ACCDATA.PA18_MICRO_BLESS_CONCEIVE
where MICRO_NO >=#MICRO_NO#(比如这个>=)
]]>
<isNotEmpty prepend="and" property="TASK_NO">
TASK_NO = #TASK_NO#
</isNotEmpty>
order by DATE_CREATED desc
           

但是主要注意的是,不是上面几种特殊情况的,不需要加这个标识,比如:

1,在"<![CDATA["转义符中间不要用标签,会报错,比如<iterate property="tradeNoList" open="(" close=")" conjunction=",">#tradeNoList[]#</iterate>

2,尽量最小范围,用到这几个特殊字符的才用,不能太大的范围用这个,比如下面这个就一句>=,这样比较稳妥

<isNotEmpty prepend="and" property="TASK_NO">

<![CDATA[
TASK_NO >= #TASK_NO#

]]>
</isNotEmpty>
           
sql