ibatis多条件查询

查询

<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"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值