查询
<select id="searchUserByParam"
parameterClass="User"resultClass="User">
select * from User
<dynamic prepend="WHERE">
<!-- isNotNull 判断NULL,isNotEmpty判断空字符串 -->
<isNotNull property="city">city=#city#
</isNotNull>
<!-- <isNotEmpty property="cityId">判断NULL,isNotEmpty判断空字符串 -->
<isNotNull property="createTime">createTime=#createTime#
</isNotNull>
<isNotEmpty prepend="OR" property="locationCity">
locationCity like '%$locationCity$%' or locationCity IS NULL
</isNotEmpty>
<!-- isNotEmpty判断字串不为空,isEmpty可以判断字串为空 -->
<isNotEmpty prepend="AND" property="position">
replace(position,' ','' ) like replace('%$position$%',' ','')
</isNotEmpty>
<isNotNull property="uId">
<isGreaterThan prepend="AND" property="uId" compareValue="0">
uId!=#uId#
</isGreaterThan>
</isNotNull>
</dynamic>
ORDER BY id desc limit #begin#,#end#
</select>
------
条件
age字段大于18, compareValue 比较值
<isGreaterThan prepend="and" property="age" compareValue="18">
<isGreaterThan> 比较属性值是否大于静态值或另一个属性值。
<isGreateEqual> 比较属性值是否大于等于静态值或另一个属性值。
<isEqual> 比较属性值和静态值或另一个属性值是否相等。
<isNotEqual> 比较属性值和静态值或另一个属性值是否不相等。
<isLessThan> 比较属性值是否小于静态值或另一个属性值。
<isLessEqual> 比较属性值是否小于等于静态值或另一个属性值。
isNotEmpty:
<dynamic prepend= "where ">
<isNotEmpty prepend="and" property="addr">
<![CDATA[
addr=$addr$
]]>
</isNotEmpty>
<isNotEmpty>意思则为当次条件不为空时执行其中语句 prepend="" 依赖约束, 值可以是 AND 也可以是OR property="" 就是对于这个条件所判定的取值字段 例如"addr"