1.ibatis中list或array遍历用法
<iterate open=”” close=”” property=”treeKindList” conjunction=”,”><![CDATA[ #treeKindList[]# ]]></iterate>
ibatis中数组参数或list参数,可用iterate对参数进行遍历。open是指遍历的开始标识,close是指遍历的结束标识,property是参数名字,conjunction是指数据拆分标识,类似split函数。sql中in的查询,ibatis实现如下:select * from company where companyCode in<iterate open=”(” close=”)” property=”companyCodeList” conjunction=”,”><![CDATA[ #companyCodeList[]# ]]></iterate>
注:
<iterate>标签是独立的标签,外层不能应用<![CDATA[ ]]>
2、动态sql语句
格式:<dynamic prepend=”WHERE”><isEqual prepend=”” property=”” compareValue=””>statement…</isEqual></dynamic>
注:<dynamic>标签是独立的标签,外层不能应用<![CDATA[ ]]>
一元条件元素的属性:prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)property - 被比较的属性(必选)<isPropertyAvailable> 检查是否存在该属性(存在parameter bean的属性)。<isNotPropertyAvailable> 检查是否不存在该属性(不存在parameter bean的属性)。<isNull> 检查属性是否为null。<isNotNull> 检查属性是否不为null。<isEmpty> 检查Collection.size()的值,属性的String或String.valueOf()值,是否为null或空(””或size() < 1)。<isNotEmpty> 检查Collection.size()的值,属性的String或String.valueOf()值,是否不为null或不为空(””或size() > 0)。例子:<isNotEmpty prepend=”AND” property=”firstName” >FIRST_NAME=#firstName#</isNotEmpty>
二元条件元素的属性: 二元是两个对象进行比较prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)property - 被比较的属性(必选)compareProperty - 另一个用于和前者比较的属性(必选或选择compareValue)compareValue - 用于比较的值(必选或选择compareProperty)<isEqual> 比较属性值和静态值或另一个属性值是否相等。<isNotEqual> 比较属性值和静态值或另一个属性值是否不相等。<isGreaterThan> ...Continue Reading »