Ibatis中的isNotNull、isEqual、isEmpty的区别

isNull判断property字段是否是null
isEmpty判断property字段 是否是null 和 空字符串
isEqual相当于equals,数字用得多些,一般都是判断状态值


转载自:http://jun1986.iteye.com/blog/1402191

例子1:(isEqual)

<isEqual property="state" compareValue="0">< /isEqual><isEqual property="state" compareProperty="nextState"></isEqual>

例子2:
传入的map或者类的属性name等于”1”吗,是就附加and和vvvv

<isEqual property="name" compareValue="1" prepend="and">
    vvvv = '哈哈'
< /isEqual>

传入的map或者类的属性name是null吗,是就附加and和vvvv = null

< isNull property="name" prepend="and">
    vvvv = null
< /isNull>

sqlmap

<select id="querySingleModelByOut"  parameterClass="com.hanpeng.base.phone.model.TBussinessNotice"   
    resultClass="com.hanpeng.base.phone.model.TBussinessNotice">  
    select * from (select row_.*, rownum rownum_ from (  
        SELECT  
            i.NOTICE_NUM  as noticeNum ,              
            i.BUSSINESS_ID  as bussinessId ,              
            i.STATE  as state ,           
            i.READ_DATE  as readDate ,  
            n.NOTICE_TITLE as noticeTitle ,           
            n.NOTICE_INFO as noticeInfo ,             
            n.CREATE_DATE as createDate ,             
            n.EMPLOYEE_ID as employeeId ,             
            n.NOTICE_TYPE as noticeType ,             
            n.NOTICE_SHOW_TYPE as noticeShowType ,            
            n.FINISH_DATE as finishDate ,             
            n.PUBLISH_DATE as publishDate   
        FROM  T_BUSSINESS_NOTICE i left join T_NOTICE n on n.NOTICE_NUM = i.NOTICE_NUM   
        WHERE  
        n.PUBLISH_DATE &lt;= sysdate AND n.FINISH_DATE &gt;= sysdate  
        <isNotEmpty prepend=" AND " property="bussinessId">   
            i.BUSSINESS_ID = #bussinessId# </isNotEmpty>  
        <isNotEmpty prepend=" AND " property="state">   
            i.STATE = #state# </isNotEmpty>  
        <isNotEmpty prepend=" AND " property="noticeShowType">   
            n.NOTICE_SHOW_TYPE = #noticeShowType# </isNotEmpty>  
        <isEqual property="saleBack" compareValue="10" prepend=" AND ">  
            n.NOTICE_TYPE!='25'</isEqual>  
        <isEqual property="remittanceBank" compareValue="10" prepend=" AND ">  
            n.NOTICE_TYPE!='63'</isEqual>  
        <isEqual property="remittanceOnline" compareValue="10" prepend=" AND ">  
            n.NOTICE_TYPE!='64'</isEqual>  
    )row_ where rownum &lt;=1 ) where rownum_&gt;=0  
</select>  
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值