Skip to content

1,名字中包含雨并且年龄小于40 name like '%雨

%' and age<40 @Test public void selectByWrapper(){ QueryWrapper<User> queryWrapper=new QueryWrapper<User>(); //QueryWrapper<User> query=Wrappers.<User>query(); queryWrapper.like("name"," ==雨==

").lt("age",40); userList=userMapper.selectList(queryWrapper); userList.forEach(System.out::println); }

2,名字中包含雨并且年龄大于等于20且小于等于40并且emai不为空 name like '%雨

%' and age between 20 and 40 and email is not null @Test public void selectByWrapper2(){ QueryWrapper<User>queryWrapper1=new QueryWrapper<User>(); queryWrapper1.like("name"," ==雨==

").between("age",20,40).isNotNull("email");

List<User> userList=userMapper.selectList(queryWrapper1); userList.forEach(System.out::println); }

3,名字为王姓或者年龄大于等于25,按照年龄降序排列,年龄相同按照id升序排列 name like '王

  • %' or age>=25 order by age desc,id asc
  • queryWrapper.likeRight("name","

==王==

").or().ge("age",25).orderByDesc("age").orderByAsc("id"); ==4====,创建日期为====2019====年====2====月====14====日并且直属上级名字为王姓== date_formate(create_time,'%y-%m-%d') and manage_id in (select id from user where name like '王

%') queryWrapper.apply("date_format(create_time,'%Y-%m-%d')={0}","2019-02-14") .inSql("manage ==r==

_id","selectidfromuserwherenamelike'

==王==

%'"); ==两个参数可以防止====sql====注入,这样,=='2019-02-14'==会作为整体取代=={0}

5,姓名为王姓并且(年龄小于40或邮箱不为空) name like '王

%' and (age\<40 or email is not null)

queryWrapper.likeRight("name","

==王==

").and(qw->qw.lt("age",40).or().isNotNull("email"));

6,名字为王姓或者(年龄小于40并且年龄大于20并且邮箱不为空

  • )
  • name like '

王

  • %' or (age<40 and age>20 and email is not null)
  • queryWrapper.likeRight("name","

==王==

").or(qw->qw.lt("age",40).gt("age",20).isNotNull("email"));

7,(年龄小于40或者邮箱不为空) 并且姓名为王姓 (age\<40 or email is not null) and name like '王

%' queryWrapper.nested(qw->qw.lt("age",40).or().isNotNull("email")).likeRight("name"," ==王==

");

8,年龄为

  • 30,31,34,35
  • age in (30

、31、34、35)

queryWrapper.in("age",Arrays.asList(30,31,34,35));

本站总访问 — 次