Wrapper
我们写一些复杂的sql就可以使用它来代替
测试一:
@Testvoid contextLoads() {// 查询name不为空,并且邮箱不为空的用户,年龄大于12岁QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.isNotNull("name").isNotNull("email").ge("age","3");userMapper.selectList(wrapper).forEach(System.out::println);}
测试二:
@Testpublic void test2(){// 查询名字 CedricQueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("name","Cedric");User user = userMapper.selectOne(wrapper); // 查询一个数据,出现多个结果使用List或者MapSystem.out.println(user);}
测试三:
@Testpublic void test3(){// 查询年龄在 20 ~ 30 岁之间的用户QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.between("age",20,30); // 区间Integer count = userMapper.selectCount(wrapper);System.out.println(count);}
测试四:
// 模糊查询@Testpublic void test4(){QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.notLike("name","S").likeRight("email","c");List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);maps.forEach(System.out::println);}
测试五:
@Testpublic void test5(){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);}
测试六:
// 排序@Testpublic void test6(){QueryWrapper<User> wrapper = new QueryWrapper<>();// 通过id降序排序wrapper.orderByDesc("id");List<User> users = userMapper.selectList(wrapper);users.forEach(System.out::println);}
