:使用它可以实现很多复杂的查询
环境:
参照博客:MybatisPlus入门程序
//查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12 @Test
void selectBy01(){
?
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.isNotNull("name") //name不为空的用户
.isNotNull("email") //邮箱不为空的用户
.ge("age",12); //年龄大于等于12 ?
userMapper.selectList(wrapper).forEach(System.out::println);
}
//查询name为 "Jone" 的用户 @Test
void selectBy02(){
?
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper.eq("name","Jone"); //name为 "Jone" 的用户 ?
//查询一个数据,为多个用 selectList 或者 selectByMap
User user = userMapper.selectOne(wrapper);
?
System.out.println(user);
}
//查询 10 到 20 岁的用户数 @Test
void selectBy03(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper.between("age",10,20);
Integer count = userMapper.selectCount(wrapper);
//查询 10 到 20 岁的用户的结果数 ?
System.out.println(count);
}
@Test
void selectLike01(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.notLike("name","To") //名字不包含 To
.like("name","o") //名字包含 o 的
//左和右 左:%e 右:e% 两边:%e%
//右查询
.likeRight("email","test");
List<Map<String, Object>> users = userMapper.selectMaps(wrapper);
users.forEach(System.out::println);
}
@Test
void selectLike02(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
//一个SQL语句写的子查询
.inSql("id","select id from user where age<20");
?
List<Object> users = userMapper.selectObjs(wrapper);
users.forEach(System.out::println);
}
@Test
void selectLike03(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//降序排序
wrapper.orderByDesc("id");
//升序排序
//wrapper.orderByAsc("id"); ?
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
原文:https://www.cnblogs.com/riverone/p/14890494.html