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的多种用法小结”的完整攻略,希望能够帮助到你。

阅读剩余 60%

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

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

相关文章

  • 如何创建和使用Java类?

    创建和使用Java类可以分为以下几个步骤: 创建一个.java文件,命名为你的类名。例如,我们创建一个名为”Person”的类。 在这个文件中定义这个类的属性和方法。例如,我们为”Person”类定义一个属性”name”和一个方法”sayHello”。 public class Person { private String name; public voi…

    Java 2023年4月27日
    00
  • java易懂易用的MD5加密(可直接运行) (1)第2/2页

    下面是本文的完整攻略,包括概述、使用方法、代码解析和示例等: 概述 本文是介绍如何使用Java实现MD5加密的文章,所实现的MD5算法具有以下特点: 易懂易用:算法基于JDK自带的MessageDigest类,并使用了一些最新的Java 8语法来简化代码,保证了代码的易懂易用性。 可直接运行:作者提供了一份完整可运行的代码,用户只需复制该代码到Java项目中…

    Java 2023年5月20日
    00
  • Java NIO写大文件对比(win7和mac)

    Java NIO(New I/O,也就是非阻塞 I/O)是 Java 1.4 提供的一种新的 I/O API,使得 Java 的 I/O 操作更加高效灵活。在处理大文件时,Java NIO 也有着比传统的 I/O 更好的性能优势。本文将介绍如何使用 Java NIO 写大文件,并对比在 Windows 7 和 macOS 系统上的性能差异。 准备工作 在开始…

    Java 2023年5月20日
    00
  • java的Hibernate框架报错“ConstraintViolationException”的原因和解决方法

    当使用Java的Hibernate框架时,可能会遇到“ConstraintViolationException”错误。这个错误通常是由于以下原因之一引起的: 违反了数据库约束:如果您尝试插入或更新数据时违反了数据库约束,则可能会出现此错误。在这种情况下,需要查看数据库约束并解决问题。 数据库事务问题:如果您尝试插入或更新数据时存在事务问题,则可能会出现此错误…

    Java 2023年5月4日
    00
  • SpringBoot中Dozer的使用小结

    《SpringBoot中 Dozer 的使用小结》 什么是 Dozer? Dozer是一个JavaBean与JavaBean之间的映射框架,它简化了JavaBean之间的转换,并且可以使用注解或XML文件定义映射规则。 Dozer的使用 引入依赖 在Maven中,我们需要添加以下依赖: <dependency> <groupId>co…

    Java 2023年5月20日
    00
  • 详解使用IntelliJ IDEA 配置Maven(入门)

    下面我将用Markdown格式撰写如何使用IntelliJ IDEA配置Maven的攻略: 详解使用IntelliJ IDEA 配置Maven(入门) Maven是一个强大的Java项目管理工具,可以帮助我们快速构建、发布、管理Java项目。在使用Maven时,我们可以选择使用集成开发环境(IDE)来管理Maven,其中最常用的IDE是IntelliJ ID…

    Java 2023年5月20日
    00
  • Java Servlet异步请求开启的简单步骤

    下面是针对Java Servlet异步请求开启的简单步骤的详细攻略: 1. 确定异步请求的类型 在开发Servlet异步请求前,需要着重考虑请求的类型,以便确定适当的开发方法。异步请求可以分为以下两种类型: 长轮询请求 (Long Polling): 在这种类型的请求中,客户端发送一个请求到服务器,服务器不会立即响应请求。相反,服务器将保持此请求打开,并在数…

    Java 2023年6月15日
    00
  • Spring mvc工作原理_动力节点Java学院整理

    Spring MVC工作原理 Spring MVC是一种流行的 Java Web 应用程序开发框架,它基于模型-视图-控制器(MVC)设计模式来构建 Web 应用程序。其工作原理如下: 请求的处理流程 客户端向服务器发送HTTP请求,请求到达服务器后,首先到达前端控制器Front Controller。 Front Controller将请求传递给处理器处理…

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