条件构造器
十分重要:Wrapper
我们写一些复杂的sql就可以使用它来替代!
构造器说明:https://baomidou.com/pages/10c804/#abstractwrapper
1、测试一,记住查看输出的SQL进行分析
@Test
public void testWrapper() {
// 查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.isNotNull("name")
.isNotNull("email")
.ge("age",12);
userMapper.selectList(wrapper).forEach(System.out::println); // 和我们刚才学习的map对比一下
}
2、测试二,记住查看输出的SQL进行分析
@Test
public void testWrapper2() {
// 查询名字itheibai
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name","itheibai");
User user = userMapper.selectOne(wrapper); // 查询一个数据,出现多个结果使用List 或者 Map
System.out.println(user);
}
3、测试三,记住查看输出的SQL进行分析
@Test
public void testWrapper3() {
// 查询年龄在 20 ~ 30 岁之间的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",20,30); // 区间
Long count = userMapper.selectCount(wrapper); // 查询结果数
System.out.println(count);
}
4、测试四,记住查看输出的SQL进行分析
// 模糊查询
@Test
public void testWrapper4() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 左和右 t%
wrapper.notLike("name","a")
.likeRight("email","t");
List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
maps.forEach(System.out::println);
}
5、测试五()
// 模糊查询
@Test
public void testWrapper5() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// id 在子查询中查出来
wrapper.inSql("id","select id from user where id<3");
List<Object> objects = userMapper.selectObjs(wrapper);
objects.forEach(System.out::println);
}
6、测试六
@Test
public void testWrapper6() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 通过id进行排序
wrapper.orderByAsc("id");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
其余的测试,可以自己多练习!
评论前必须登录!
注册