MyBatis-Plus学习笔记(七) 条件查询器Wrapper

狂神说Java:https://www.bilibili.com/video/BV17E411N7KN?p=14学习笔记


条件查询器Wrapper作用:完成较为复杂的条件查询工作

一、条件查询

测试一:查询name不为空、邮箱不为空、年龄大于等于18岁的用户

    @Test
    void selecteTest(){
       
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        wrapper
                .isNotNull("name")
                .isNotNull("email")
                .ge("age",12);

        userMapper.selectList(wrapper).forEach(System.out::println);
    }

测试二:查询名字为liniqngxia的用户

  void test01(){
      
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        wrapper.eq("name","liniqngxia");

        User user = userMapper.selectOne(wrapper);//查询一个数据,出现多个使用List或Map

        System.out.println(user);
    }

测试三:查询年龄在10-20岁之间的用户数量

    @Test
    void test02(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        wrapper.between("age", 10, 20);

        Integer integer = userMapper.selectCount(wrapper);

        System.out.println(integer);
    }

二、模糊查询

测试一:查询名字中包含e且邮箱已t开头的用户

    @Test
    void test03(){

        QueryWrapper<User> wrapper = new QueryWrapper<>();

        wrapper
                .like("name","e")           //名字中包含e
                .likeRight("email","t");    //相当于 t%
        List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);

        maps.forEach(System.out::println);
    }

三:子查询

    @Test
    void test04(){
        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);
    }

四、查询排序

测试一:通过id降序排序

    @Test
    void test05(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        wrapper.orderByDesc("id");

        List<User> users = userMapper.selectList(wrapper);

        users.forEach(System.out::println);
    }

猜你喜欢

转载自blog.csdn.net/qq_41694490/article/details/114276105