软件编程
位置:首页>> 软件编程>> java编程>> MybatisPlus使用Wrapper实现条件查询功能

MybatisPlus使用Wrapper实现条件查询功能

作者:Mr.XieZL  发布时间:2021-11-29 10:21:08 

标签:MybatisPlus,Wrapper,查询

Wrapper---条件查询器

:使用它可以实现很多复杂的查询

1.条件查询

1.1查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12的用户

//查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12
@Test
void selectBy01(){

    QueryWrapper<User> wrapper=new QueryWrapper<>();
    wrapper
            .isNotNull("name") //name不为空的用户
            .isNotNull("email") //邮箱不为空的用户
            .ge("age",12); //年龄大于等于12

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

MybatisPlus使用Wrapper实现条件查询功能

//查询name为 "Jone" 的用户
@Test
void selectBy02(){

    QueryWrapper<User> wrapper=new QueryWrapper<>();
    wrapper.eq("name","Jone"); //name为 "Jone" 的用户

    //查询一个数据,为多个用 selectList 或者 selectByMap
    User user = userMapper.selectOne(wrapper);

    System.out.println(user);
}

MybatisPlus使用Wrapper实现条件查询功能

1.3查询10 到 20岁的用户数

//查询 10 到 20 岁的用户数
@Test
void selectBy03(){
    QueryWrapper<User> wrapper=new QueryWrapper<>();
    wrapper.between("age",10,20);

    Integer count = userMapper.selectCount(wrapper);
    //查询 10 到 20 岁的用户的结果数

    System.out.println(count);
}

MybatisPlus使用Wrapper实现条件查询功能

2.模糊查询

2.1 使用like + notLike + likeRight

@Test
void selectLike01(){
    QueryWrapper<User> wrapper=new QueryWrapper<>();
    wrapper
            .notLike("name","To") //名字不包含 To
            .like("name","o") //名字包含 o 的
            //左和右 左:%e   右:e%  两边:%e%
            //右查询
            .likeRight("email","test");

    List<Map<String, Object>> users = userMapper.selectMaps(wrapper);
    users.forEach(System.out::println);
}

MybatisPlus使用Wrapper实现条件查询功能

2.2子查询

@Test
void selectLike02(){
    QueryWrapper<User> wrapper=new QueryWrapper<>();
    wrapper
            //一个SQL语句写的子查询
            .inSql("id","select id from user where age<20");

    List<Object> users = userMapper.selectObjs(wrapper);
    users.forEach(System.out::println);
}

MybatisPlus使用Wrapper实现条件查询功能

2.3降序排序

@Test
void selectLike03(){
    QueryWrapper<User> wrapper=new QueryWrapper<>();
    //降序排序
    wrapper.orderByDesc("id");
    //升序排序
    //wrapper.orderByAsc("id");

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

MybatisPlus使用Wrapper实现条件查询功能

来源:https://blog.csdn.net/HellowWord_/article/details/122208312

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com