11.条件构造器 QueryWrapper

suaxi
2021-04-05 / 0 评论 / 83 阅读 / 正在检测是否收录...

条件构造器

条件查询:

@Test
void findTest(){
    //查询姓名、邮箱不为空,且年龄大于25的用户信息
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.isNotNull("name")
        .isNotNull("email")
        .ge("age",25);
    mapper.selectList(wrapper).forEach(System.out::println);
}

@Test
void findTest01(){
    //查询一个名字为刘波的用户
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.ge("name","刘波");
    User user = mapper.selectOne(wrapper);
    System.out.println(user);
}

@Test
void findTest02(){
    //查询年龄在20-30岁之间的用户
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.between("age", 20, 30);
    Integer result = mapper.selectCount(wrapper);
    System.out.println(result);
}


模糊查询:

@Test
void findTest03(){
    //查询名字中不包含“刘”,且邮箱以"t"开头的用户
    //likeRight str%
    //likeLeft  %str
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.notLike("name", "刘")
        .likeRight("email", "t");
    List<Map<String, Object>> maps = mapper.selectMaps(wrapper);
    maps.forEach(System.out::println);
}


子查询:

@Test
void findTest04(){
    //查询id大于5的用户
    /*
        WHERE
            deleted=0 
        AND id IN (
            select
                id 
            from
                user 
            where
                id > 5
        )
         */
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.inSql("id", "select id from user where id > 5");
    List<Object> maps = mapper.selectObjs(wrapper);
    maps.forEach(System.out::println);
}


排序:

@Test
void findTest05(){
    //通过id降序排列
    QueryWrapper<User> wrapper = new QueryWrapper<>();
    wrapper.orderByDesc("id");
    List<User> users = mapper.selectList(wrapper);
    users.forEach(System.out::println);
}
0

评论 (0)

取消