栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【MyBatis Plus 3.5.1】4、条件查询器 Wrapper【Spring Boot 环境】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【MyBatis Plus 3.5.1】4、条件查询器 Wrapper【Spring Boot 环境】

类结构图

由类结构图可见,Wrapper 内方法有限,大部分方法都封装在 AbstractWrapper 中,使用时可以用操作类对象来调用方法;如:QueryWrapper 、UpdateWrapper

1、selectList

查询name不为空,email不为空,age大于18的用户

@Test
public void test1(){
    // 查询name不为空,email不为空,age大于18的用户
    QueryWrapper wrapper = new QueryWrapper();
    wrapper.isNotNull("name")
        .isNotNull("email")
        .ge("age", 18);

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

2、selectOne

查询 name=Billie 的用户

如果查询结果有多个,会报错

    @Test
    public void test2(){
        // 查询 name=Billie 的用户
        QueryWrapper wrapper = new QueryWrapper<>();        
        wrapper.eq("name","Billie");
        
        User user = userMapper.selectOne(wrapper);
        System.out.println(user);
    }

3、selectCount

根据 Wrapper 条件,查询总记录数

@Test
public void test3(){
    QueryWrapper wrapper = new QueryWrapper<>();
    // 查询年龄在20到30之间;between 包含20和30
    wrapper.between("age", 20, 30);

    Long count = userMapper.selectCount(wrapper);
    System.out.println(count);
}

4、模糊查询

Compare 接口

like = LIKE '%值%'notLike = NOT LIKE '%值%'likeLeft = LIKE '%值'likeRight = LIKE '值%'

@Test
public void test4(){
    QueryWrapper wrapper = new QueryWrapper<>();
    // 名字中包含 a,不包含 e,向左侧匹配 y
    wrapper.like("name", "a")
        .notLike("name", "e")
        .likeLeft("name", "y");

    List> maps = userMapper.selectMaps(wrapper);
    maps.forEach(System.out::println);
}

5、子查询 inSql
@Test
public void test5(){
    QueryWrapper wrapper = new QueryWrapper<>();
    // id 存在于子查询中
    wrapper.inSql("id", 
                  "select id from user where id < 5");
    List objects = userMapper.selectObjs(wrapper);
    objects.forEach(System.out::println);
}
 

6、排序

@Test
public void test6(){
    QueryWrapper wrapper = new QueryWrapper<>();
    // id 小于8
    wrapper.lt("id",8);
    // 按名字升序排序
    wrapper.orderByAsc("name");

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

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号