iBatis中联合AND和OR进行查询

 

在项目中使用条件查询的时候一直都是使用的AND,有一天突然碰到要使用OR的,情况是类似这样的:Where a<1 and ( b>2 OR b<1),在iBatis中怎么写呢?我是这么写的:

     <isNotEmpty prepend="AND" property="a">

        <![CDATA[

            a < 1

       ]]>

     </isNotEmpty>

     <isNotEmpty prepend="AND (" property="b">

        <![CDATA[

            b > 2

       ]]>

     </isNotEmpty>

     <isNotEmpty prepend="OR" property="b">

         <![CDATA[

            b < 1  )

        ]]>

 </isNotEmpty>

 假设上例中a b 对应于parameterClass中的属性分别是a b 。想怎么写这个OR条件想了我一段时间,因为之前潜意识的就认为prepend属性只能为ANDOR,但是实际上prepend属性可以为任何值,它只是表示当条件满足时放在sql语句之前的字符串,随便是什么都可以,当然你要保证最后拼凑出来的sql是语法正确的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值