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日

相关文章

  • Java 关键字static详解及实例代码

    Java关键字static详解及实例代码 什么是Java的关键字static Java的关键字static用于声明类、方法和变量,它可以用来标识一个类、方法和变量是否为静态的。 当我们把一个成员变量或成员方法定义为静态时,它可以被所有对象所共享,无需实例化对象就可以直接访问它们。而非静态的成员变量和成员方法必须通过实例化后才能进行访问。 Java关键字sta…

    Java 2023年5月30日
    00
  • java简单实现自定义日历

    下面是详细讲解“Java简单实现自定义日历”的完整攻略。 1. 确定需求和基本思路 首先,我们需要明确需求和基本思路。 需求:实现一个自定义的日历,可以输出指定年份和月份的所有日期以及星期。 基本思路:通过 Java 的时间日期 API,根据输入的年份和月份计算出该月份的天数和第一天是星期几,然后将日期和星期打印出来。 2. 编写代码实现 接下来,我们开始编…

    Java 2023年5月20日
    00
  • java.lang.OutOfMemoryError: Metaspace异常解决的方法

    Java.lang.OutOfMemoryError: Metaspace异常解决的方法 当我们在开发Java应用程序时,可能会遇到Metaspace异常。这个异常表示应用程序的metaspace(元空间)达到了其最大值,导致应用程序无法继续进行下去。这种情况下,我们需要采取一些措施来解决这个问题。 什么是Metaspace(元空间) Metaspace是一…

    Java 2023年5月27日
    00
  • jsp从数据库获取数据填充下拉框实现二级联动菜单的方法

    下面是详细的“jsp从数据库获取数据填充下拉框实现二级联动菜单的方法”攻略。 第一步:创建数据表 首先,我们需要创建一个数据表,用于存储下拉菜单中的选项值和对应的子选项值。例如,我们可以创建一个名为“options”的表,它包含以下字段: optionId:选项的ID optionName:选项的名称 subOptionId:子选项的ID subOption…

    Java 2023年6月15日
    00
  • JSP 自定义注解及记录操作日志

    下面是详细讲解“JSP 自定义注解及记录操作日志”的完整攻略: 什么是JSP自定义注解 注解是一种可插入到 Java 代码中的标记,这些标记可以在编译、运行时被读取,并执行特定的处理。在 JSP 中,可以使用注解添加自定义标记,可以让 JSP 页面更灵活、更易读、更易维护。 JSP自定义注解的使用方法 在 JSP 类中使用注解,需要先定义注解: @Reten…

    Java 2023年6月15日
    00
  • 详解Java读取Jar中资源文件及示例代码

    下面是详细讲解「详解Java读取Jar中资源文件及示例代码」的完整攻略。 1. 了解Java读取Jar中资源文件的原理 在Java中,读取Jar中资源文件的流程通常如下: 通过ClassLoader加载Jar包。 通过ClassLoader获取资源文件的URL。 通过URL打开资源文件的流。 读取资源文件的流中的内容。 2. 如何读取Jar中的资源文件? 当…

    Java 2023年5月20日
    00
  • 详解Java的编译执行与解释执行

    Java是一种编译型语言,Java源文件在编译时会被编译成Java字节码文件,在Java虚拟机上执行。此时,Java bytecode是被解释执行的。Java程序的执行过程可以被分为两个阶段:编译阶段和运行阶段。 编译阶段 Java源文件在编译时会被编译器编译成特定的字节码文件(.class文件),字节码文件包含了代码经过编译器编译后的中间表达形式。以下是使…

    Java 2023年5月20日
    00
  • 解决netty中spring对象注入失败的问题

    解决Netty中Spring对象注入失败的问题,一般存在两个方面的问题: 在Netty的handler中无法注入Spring的bean; 在Netty的线程中使用Spring的事务管理器会出现异常报错。 为了解决这两个问题,我们需要按照以下步骤进行: 步骤一:引入spring-boot-starter-netty 在Spring Boot项目中,通过添加sp…

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