Mybatis的Example(and ,or )应用

##Mybatis的Example(and ,or )应用
近期的一个项目中遇到Mybatis的Example的and or 的应用,感觉有必要记录一下(个人见解,有问题请指出。谢谢)

  1. 在Example中的每一个Criteria相当于一个括号,把里面的内容当成一个整体
BasePointsExample.Criteria criteria1 = example.createCriteria();
criteria1.andUseridEqualTo("11");
criteria1.andPointnameLike("22");
  1. 在Criteria中没有直接的or的构造方法(至少我不知道)所以碰到一下where 后 and or的连用的话会有点麻烦
    2.1 where (条件1 and 条件2) or ( 条件3 and 条件4)
BasePointsExample.Criteria criteria1 = example.createCriteria();
           criteria1.andUseridEqualTo('11');
           criteria1.andPointnameLike(StringUtil.concatlike('22'));
 
 BasePointsExample.Criteria criteria2 = example.createCriteria();
           criteria2.andUsernameEqualTo('33');
           criteria2.andPointcontentLike(StringUtil.concatlike('44'));
 example.or(criteria2);

2.2 where 条件1 and (条件2 or 条件3) 这是我碰到的问题,在网上看到一种拆分的方法感觉很好
A and ( B or C ) ==> ( A and B ) or ( A and C )

BasePointsExample.Criteria criteria1 = example.createCriteria();
           criteria1.andUseridEqualTo('11');
           criteria1.andPointnameLike(StringUtil.concatlike('22'));
 
           BasePointsExample.Criteria criteria2 = example.createCriteria();
           criteria2.andUseridEqualTo('11');
           criteria2.andPointcontentLike(StringUtil.concatlike('33'));
           example.or(criteria2);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值