逆向工程实现 where(条件1 and 条件2)or (条件3and条件4)

Example.or()   example.and

可实现: where(条件1 and 条件2)or (条件3and条件4)

或:where条件1 and(条件2or条件3)

      Example example = new Example(Std.class);
      Criteria criteria1 = example.createCriteria();
      Criteria criteria2 = example.createCriteria();
      if(!StringUtils.isEmpty(std.getA100())){
        criteria1.andLike("a100", "%"+std.getA100()+"%");
      }
      if(!StringUtils.isEmpty(std.getA200())){
         criteria1.andEqualTo("a200", std.getA200());
      }

      if(!StringUtils.isEmpty(std.getA298())){
         criteria2.andLike("a298", "%"+std.getA298()+"%");
         criteria2.orLike("a302", "%"+std.getA298()+"%");
      }
      example.and(criteria2);   //需要and或者or连接一下,具体看需要使用
      List<Std> list = stdMapper.selectByExample(example);

 

实现如下sql

 

SELECT * FROM std WHERE (a100 LIKE ?) AND (a298 LIKE ? OR a302 LIKE ?)

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值