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 spring使用构造器注入的原因

    通过实例了解java spring使用构造器注入的原因

    这篇文章主要介绍了通过实例了解spring使用构造器注入的原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java使用字符画一个海绵宝宝

    java使用字符画一个海绵宝宝

    这篇文章主要为大家详细介绍了java使用字符画一个海绵宝宝,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 如何基于Spring使用工厂模式实现程序解耦

    如何基于Spring使用工厂模式实现程序解耦

    这篇文章主要介绍了如何基于Spring使用工厂模式实现程序解耦,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java 23种设计模型详解

    Java 23种设计模型详解

    本文主要介绍Java 23种设计模型,这里整理了详细的资料,及实现各种设计模型的示例代码,有需要的小伙伴可以参考下
    2016-09-09
  • Java中的HashMap为什么会产生死循环

    Java中的HashMap为什么会产生死循环

    这篇文章主要介绍了Java中的HashMap为什么会产生死循环,HashMap 死循环是一个比较常见、比较经典的问题,下面文章我们就来彻底理解死循环的原因。需要的小伙伴可以参考一下
    2022-05-05
  • 关于@SpringBootApplication与@SpringBootTest的区别及用法

    关于@SpringBootApplication与@SpringBootTest的区别及用法

    这篇文章主要介绍了关于@SpringBootApplication与@SpringBootTest的区别及用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java封装数组之动态数组实现方法详解

    Java封装数组之动态数组实现方法详解

    这篇文章主要介绍了Java封装数组之动态数组实现方法,结合实例形式详细分析了java动态数组的实现原理、操作步骤与相关注意事项,需要的朋友可以参考下
    2020-03-03
  • Java中List对象集合按对象中某字段进行排序举例

    Java中List对象集合按对象中某字段进行排序举例

    这篇文章主要给大家介绍了关于Java中List对象集合按对象中某字段进行排序的相关资料,我们在日常开发中也经常会用到排序算法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07
  • Java跳过证书访问HTTPS详细代码示例

    Java跳过证书访问HTTPS详细代码示例

    在访问HTTPS网站时,Java会默认检查SSL证书是否有效,如果证书无效,则会阻止访问,这篇文章主要给大家介绍了关于Java跳过证书访问HTTPS的相关资料,需要的朋友可以参考下
    2024-02-02
  • java下载指定文件并返回给前端返回流文件的实现步骤

    java下载指定文件并返回给前端返回流文件的实现步骤

    在Java中我们可以根据文件地址返回一个文件流,以便对文件进行读取、写入等操作,下面这篇文章主要给大家介绍了关于java下载指定文件并返回给前端返回流文件的实现步骤,需要的朋友可以参考下
    2024-03-03

最新评论