逆向工程实现 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 ?)

 

猜你喜欢

转载自blog.csdn.net/admin_mvip/article/details/83306341