关于ibatis动态拼凑查询条件失败,咋回事?大虾求指教!

    今天突然接到客服要对现在系统要增加一块查询功能的需求,原来信心满满的跟她说稍等几分钟就好,但那结果是没有预想到的,等了老半天还没弄好,真是被ibatis玩转了,呜呜……

    需求如下: 给出一个号码,可以直接查出它是否在网,或是直接号码+(在网/退订)组合查询。

    实现效果:第一种查询OK没有问题,但第二种查询就出问题了。在网/退订我用的是一个下拉菜单控件做为输入,后端把它和手机号码写进一个map数组传入到ibatis动态拼凑中去,结果问题就出现了,满足后面那个(在网/退订)条件的SQL语句死活不出来,检查了好几遍代码也没发现有问题呀,郁闷..........

ibatis xml代码如下:

<dynamic prepend="WHERE">
    <isNotEmpty property="USER_MOBILE">
        user_mobile = #USER_MOBILE#
    </isNotEmpty>
    <isNotEmpty prepend=" AND " property="USER_TYPE">
        <isEqual compareValue="2">
            ( pro_klys = 'Y' OR pro_yybd = 'Y' OR pro_kxye = 'Y' )
        </isEqual>
        <isEqual compareValue="3">
            ( pro_yybd = 'N' AND pro_kxye = 'N' AND pro_klys = 'N' )
        </isEqual>
    </isNotEmpty>
</dynamic>

调试窗口输出情况是: 

SELECT * FROM user_info WHERE user_mobile = ?

后面的当user_type = 2或3条件的SQL条件就没有拼凑了,这是怎么回事呢?

有人谁遇到过这样的问题呢?求指教,谢谢。


转载于:https://my.oschina.net/lisenhui/blog/169603

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值