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

 更新时间:2023年06月01日 15:39:51   作者:Mr.XieZL  
这篇文章主要介绍了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);
 }

//查询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);
 }

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);
 }

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);
 }

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);
 }

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实现查询功能的文章就介绍到这了,更多相关MybatisPlusWrapper查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java查找图中两点之间所有路径

    java查找图中两点之间所有路径

    这篇文章主要为大家详细介绍了java查找图中两点之间所有路径,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • RabbitMQ 最常用的三大模式实例解析

    RabbitMQ 最常用的三大模式实例解析

    这篇文章主要介绍了RabbitMQ 最常用的三大模式实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java8新特性Optional类及新时间日期API示例详解

    Java8新特性Optional类及新时间日期API示例详解

    这篇文章主要为大家介绍了Java8新特性Optional类及新时间日期API示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • jar包和war包区别解析

    jar包和war包区别解析

    jar是java普通项目打包,通常是开发时要引用通用类,打成jar包便于存放管理,war是java web项目打包,web网站完成后,打成war包部署到服务器,目的是为了节省资源,提供效率,这篇文章主要介绍了jar包和war包区别及理解,需要的朋友可以参考下
    2023-07-07
  • Java ThreadLocal的使用详解

    Java ThreadLocal的使用详解

    ThreadLocal是线程私有的局部变量存储容器,可以理解成每个线程都有自己专属的存储容器,用来存储线程私有变量。ThreadLocal 在日常开发框架中应用广泛,但用不好也会出现各种问题,本文就此讲解一下。
    2021-05-05
  • MybatisPlus QueryWrapper常用方法实例

    MybatisPlus QueryWrapper常用方法实例

    MyBatis-Plus(opens new window)是一个MyBatis(opens new window)的增强工具,在 MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,下面这篇文章主要给大家介绍了关于MybatisPlus QueryWrapper常用方法的相关资料,需要的朋友可以参考下
    2022-04-04
  • Java实现插入排序,希尔排序和归并排序

    Java实现插入排序,希尔排序和归并排序

    这篇文章主要为大家详细介绍了插入排序,希尔排序和归并排序的多种语言的实现(JavaScript、Python、Go语言、Java),感兴趣的小伙伴可以了解一下
    2022-12-12
  • Socket编程简单示例(聊天服务器)

    Socket编程简单示例(聊天服务器)

    socket编程是在不同的进程间进行网络通讯的一种协议,下面这篇文章主要给大家介绍了关于Socket编程简单示例的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • Java掩码的几种使用例举

    Java掩码的几种使用例举

    今天小编就为大家分享一篇关于Java掩码的使用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • java 获取内存使用率的流程实例详解

    java 获取内存使用率的流程实例详解

    这篇文章主要为大家介绍了java 获取内存使用率的流程实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论