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

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

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

标签:MybatisPlus,Wrapper,查询
0
投稿

猜你喜欢

  • GSON实现Java对象与JSON格式对象相互转换的完全教程

    2023-11-23 09:23:37
  • Java负载均衡算法实现之轮询和加权轮询

    2023-07-16 15:27:17
  • C++求四个正整数最大公约数的方法

    2023-02-04 12:09:19
  • 常用的Java数据结构知识点汇总

    2022-09-09 02:26:02
  • VS2022+unity3D开发环境搭建的实现步骤

    2023-02-10 10:13:47
  • Java集合框架Collections原理及用法实例

    2021-12-04 18:10:20
  • Java数据结构之树和二叉树的相关资料

    2022-07-31 04:48:18
  • 浅谈两个jar包中包含完全相同的包名和类名的加载问题

    2023-04-13 04:47:02
  • springboot使用事物注解方式代码实例

    2022-07-09 00:13:21
  • org.slf4j.Logger中info()方法的使用详解

    2021-05-31 20:10:36
  • Android下拉刷新控件PullToRefresh实例解析

    2022-01-27 08:01:14
  • 解决Android调用系统分享给微信,出现分享失败,分享多文件必须为图片格式的问题

    2023-07-03 11:08:04
  • 教大家使用java实现顶一下踩一下功能

    2021-08-08 21:31:15
  • Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍

    2022-06-05 01:47:14
  • Android动态修改应用图标与名称的方法实例

    2021-11-21 13:24:44
  • Java线程让步_动力节点Java学院整理

    2021-07-21 14:44:52
  • c#中switch case的用法实例解析

    2023-09-20 23:02:51
  • Java深入浅出掌握SpringBoot之MVC自动配置原理篇

    2022-04-16 02:14:34
  • C++ 智能指针深入解析

    2023-08-14 22:38:41
  • Java Mybatis中的 ${ } 和 #{ }的区别使用详解

    2021-07-02 22:35:27
  • asp之家 软件编程 m.aspxhome.com