一、一元标签
(1)如果参数有使用则查询条件有效< isPropertyAvailable>
(2)如果参数没有使用则查询条件有效< isNotPropertyAvailable>
(3)如果参数为NULL则查询条件有效< isNull>
(4)如果参数不为NULL则查询条件有效< isNotNull>
(5)如果参数为空则查询条件有效< isEmpty>
(6)如果参数不为空则查询条件有效。参数的数据类型为Collection String 时参数不为NULL或“”。< isNotEmpty>
select * from Person
<dynamic prepend="where">
<isNotNull property="name" prepend="and">
name=#name#
</isNotNull>
<isNotNull property="sex" prepend="and">
sex=#sex#
</isNotNull>
</dynamic>
通过使用<dynamic>标签的使用,可以看到执行的sql语句是
select Person where (and) name= ? , and sex= ?
第一个and可以被去除
<![CDATA[XXX]]>表示里边的内容是以纯文本的形式分配
<![CDATA[ DELETE FROM er_chain WHERE (chain_id=#chainId#)]]>
select * from 表名 where index_code in
<iterate conjunction="," property="indexCodes" open="(" close=")">
#indexCodes[]#
</iterate>
<iterate>标签中的conjunction属性是在哪里分割的意思
property是切割的那个
open是开始的地方
close是结束的地方
二、二元比较标签
<isNotEqual> 比较属性值和静态值或另一个属性值是否不相等。
<isGreaterThan> 比较属性值是否大于静态值或另一个属性值。
<isGreaterEqual> 比较属性值是否大于等于静态值或另一个属性值。
<isLessThan> 比较属性值是否小于静态值或另一个属性值。
<isLessEqual> 比较属性值是否小于等于静态值或另一个属性值
perpend属性是可被覆盖的sql语句组成部分
property是比较的属性(必须写)
compareProperty----另一个用于比较的属性值
compareValue用于比较的值