Mybatis-plus中QueryWrapper的多种用法小结

“Mybatis-plus中QueryWrapper的多种用法小结”是一篇关于Mybatis-plus中QueryWrapper使用方法的文章。在介绍QueryWrapper的多种用法之前,我们需要了解一下QueryWrapper的基本概念。

QueryWrapper基本概念

QueryWrapper是Mybatis-plus提供的一种条件构造器,可以用于构造SQL的where条件。它提供了许多静态方法,可以方便地构造各种where条件。

使用步骤

  1. 创建QueryWrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  1. 在queryWrapper对象上使用各种静态方法构建条件
queryWrapper.eq("name", "张三"); // where name = '张三'
  1. 使用Mapper接口的方法执行SQL
List<User> userList = userMapper.selectList(queryWrapper);

QueryWrapper的多种用法

1. 等于条件(eq)

queryWrapper.eq("name", "张三"); // where name = '张三'

2. 不等于条件(ne)

queryWrapper.ne("name", "张三"); // where name <> '张三'

3. 大于条件(gt)

queryWrapper.gt("age", 18); // where age > 18

4. 小于条件(lt)

queryWrapper.lt("age", 18); // where age < 18

5. 大于等于条件(ge)

queryWrapper.ge("age", 18); // where age >= 18

6. 小于等于条件(le)

queryWrapper.le("age", 18); // where age <= 18

7. BETWEEN条件(between)

queryWrapper.between("age", 18, 30); // where age between 18 and 30

8. NOT BETWEEN条件(notBetween)

queryWrapper.notBetween("age", 18, 30); // where age not between 18 and 30

9. IN条件(in)

queryWrapper.in("age", Arrays.asList(18, 20, 25)); // where age in (18, 20, 25)

10. NOT IN条件(notIn)

queryWrapper.notIn("age", Arrays.asList(18, 20, 25)); // where age not in (18, 20, 25)

11. LIKE条件(like)

queryWrapper.like("name", "张%"); // where name like '张%'

12. NOT LIKE条件(notLike)

queryWrapper.notLike("name", "张%"); // where name not like '张%'

13. IS NULL条件(isNull)

queryWrapper.isNull("name"); // where name is null

14. IS NOT NULL条件(isNotNull)

queryWrapper.isNotNull("name"); // where name is not null

15. OR条件(or)

queryWrapper.eq("age", 18).or().eq("name", "张三"); // where age = 18 or name = '张三'

示例1

假设我们有一个User表,其中包含字段id、name、age。我们需要查询年龄为18岁,并且姓名为张三或李四的用户信息。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 18).and(wrapper -> wrapper.eq("name", "张三").or().eq("name", "李四"));
List<User> userList = userMapper.selectList(queryWrapper);

示例2

假设我们有一个Order表,其中包含字段id、user_id、order_name、create_time。我们需要查询UserId为1或2,并且订单时间在2020年3月1日到2020年4月1日之间的订单信息。

QueryWrapper<Order> queryWrapper = new QueryWrapper<>();
queryWrapper.in("user_id", 1, 2)
    .and(wrapper -> wrapper.between("create_time", "2020-03-01", "2020-04-01"));
List<Order> orderList = orderMapper.selectList(queryWrapper);

以上是关于“Mybatis-plus中QueryWrapper的多种用法小结”的完整攻略,希望能够帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis-plus中QueryWrapper的多种用法小结 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 详解kotlin中::双冒号的使用

    详解kotlin中::双冒号的使用 在Kotlin中,双冒号::是一个重要的语法符号,它可以表示一些函数和属性的引用。双冒号有以下用法: 1. 表示函数引用 可以使用::符号来表示一个函数的引用,例如: fun plus(a: Int, b: Int): Int = a + b val functionRef = ::plus 在上面的代码中,functio…

    Java 2023年5月26日
    00
  • Ewebeditor 的一些漏洞总结 推荐

    Ewebeditor 的一些漏洞总结 Ewebeditor 是一款常见的 Web 富文本编辑器,但是它也存在着一些安全漏洞。本文将对这些漏洞进行总结,并提供一些示例说明。 漏洞一:目录遍历漏洞 漏洞描述:Ewebeditor 在处理文件上传请求时,未对上传文件的路径进行充分的校验,导致攻击者可以通过构造特殊的上传请求,上传任意文件到服务器中。 漏洞利用:攻击…

    Java 2023年6月16日
    00
  • Jsp中request的3个基础实践

    JSP中的request对象是Web开发的一个重要组成部分,它用于在不同的Web组件之间传递数据。下面是request对象在JSP中的3个基础实践的完整攻略: 1. 在JSP页面中获取request对象 在许多情况下,我们需要在JSP页面中获取request对象。要实现这一点,我们可以使用Java中的“内置对象”- request。request作为内置对象…

    Java 2023年6月15日
    00
  • Java中List.contains(Object object)方法使用

    Java中的List.contains(Object object)方法用于判断List容器中是否包含指定的对象。这个方法返回一个boolean类型,当包含指定对象时返回true,否则返回false。下面就是使用List.contains()方法的完整攻略: 方法签名 下面是List.contains(Object object)方法的定义签名(注意,该方法…

    Java 2023年5月26日
    00
  • 一文详解Spring构造函数推断

    一文详解Spring构造函数推断 在使用Spring Framework进行Java开发时,构造函数推断是一个重要的特性。本文将介绍什么是构造函数推断,为什么需要它,以及如何使用它。 什么是构造函数推断? 构造函数推断是Spring Framework的一个特性,它可以自动推断应该使用哪个构造函数来实例化一个 bean。以前,我们需要显式地在XML或Java…

    Java 2023年5月26日
    00
  • Java中指定时区的3种方法

    当我们在Java程序中处理时间的时候,常常会遇到需要指定时区的情况。正确地指定时区可以保证时间的正确性和跨时区的可靠性。以下是Java中指定时区的3种方法。 方法一:使用TimeZone类 Java中的TimeZone类提供了各种不同的时区,我们可以使用它来指定时区。常用的有如下几个方法: getTimeZone(String ID):根据时区ID获取一个T…

    Java 2023年5月20日
    00
  • Java实现统计字符串出现的次数

    下面来详细讲解Java实现统计字符串出现次数的完整攻略。 1. 获取待统计的字符串和要统计的字符 首先需要从用户那里获取到待统计的字符串和要统计的字符,可以使用Scanner类进行输入。示例代码如下: Scanner sc = new Scanner(System.in); System.out.println("请输入待统计的字符串:"…

    Java 2023年5月27日
    00
  • SpringBoot2.3新特性优雅停机详解

    SpringBoot2.3新特性优雅停机详解 简介 在以往的项目中,我们在正常停止服务时,往往都是使用kill的方式来停止,这种方式虽然简单,但是可能会导致一些问题,比如程序被强制关闭时,可能会导致正在处理的请求直接中断等问题。SpringBoot2.3中新增了一个优雅停机的功能,可以让我们在停止服务时,更加安全和优雅。 优雅停机的原理 在之前的Spring…

    Java 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部