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命令设计模式详解

    Java命令设计模式详解 本文将详细介绍Java命令设计模式。首先,我们会讲解什么是设计模式以及为什么要使用它们。接着,会详细讲解Java命令设计模式的相关概念以及在实际应用中的使用。最后,会提供两个示例说明,以帮助读者更好地掌握Java命令设计模式。 什么是设计模式? 在软件开发阶段,我们经常需要解决一些常见的问题,如对象的创建、系统的分布、通信的实现、异…

    Java 2023年5月26日
    00
  • Java日常练习题,每天进步一点点(53)

    Java日常练习题,每天进步一点点(53) 这是一组Java练习题,旨在帮助Java初学者提高编程能力。在本文中,我们将详细讲解Java日常练习题,并提供两个示例来说明如何解决这些问题。 练习题 编写一个Java程序,计算1到100之间所有偶数的和。 编写一个Java程序,将一个字符串中的所有空格去掉。 编写一个Java程序,判断一个字符串是否为回文字符串。…

    Java 2023年5月18日
    00
  • MyBatis 超详细讲解动态SQL的实现

    MyBatis 超详细讲解动态SQL的实现 什么是动态SQL 在SQL语句中,如果能在语句执行前根据不同的条件去动态生成不同的SQL语句,就叫做动态SQL。 动态SQL的优势 动态SQL相较于拼接字符串与使用PreparedStatement的SQL语句拼接方式,具有以下优势: 可以根据条件进行SQL语句的动态生成,使得开发工作更为高效、方便。 可以避免SQ…

    Java 2023年5月19日
    00
  • mybatis-generator自动生成dao、mapping、bean配置操作

    下面我详细讲解一下mybatis-generator自动生成dao、mapping、bean配置操作的完整攻略。 1. Mybatis-Generator简介 Mybatis-Generator是Mybatis的一个辅助插件,它可以自动生成Mybatis的DAO层、Mapping配置文件以及Java Bean类,用于简化开发人员的工作量。 2. 配置Myba…

    Java 2023年5月20日
    00
  • Java中的Vector和ArrayList区别及比较

    Java中的Vector和ArrayList区别及比较 1. Vector和ArrayList的区别 Vector和ArrayList是Java集合框架中两个常用的数组实现类,它们的区别主要有以下几点: 1.1 线程安全 Vector是线程安全的,而ArrayList不是线程安全的。这是由于Vector中的方法都是用synchronized关键字修饰的,而A…

    Java 2023年5月26日
    00
  • 基于常用json框架介绍和Jackson返回结果处理方式

    基于常用JSON框架介绍和Jackson返回结果处理方式 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。在Java开发中,我们可以使用常见的JSON框架来进行JSON格式的转换和处理。其中,Jackson框架是非常流行的一个JSON框架,下面将介绍如何使用Jackson框架进行返回结果处理。 常用JSON框架…

    Java 2023年5月26日
    00
  • 浅谈Android编码规范及命名规范

    浅谈Android编码规范及命名规范 引言 在Android开发的过程中,良好的编码规范和命名规范可以提升代码可读性、可维护性和可扩展性,有助于整个项目的高效协作。本文将从代码规范、命名规范两方面进行介绍,并提供一些示例,帮助读者更好的理解。 代码规范 编码格式 在编写Java代码时,应该遵循标准的缩进格式和空格语法,以保证代码具有良好的可读性。我们可以通过…

    Java 2023年5月20日
    00
  • Java实现搜索功能代码详解

    Java实现搜索功能代码详解 在Java Web应用程序开发中,搜索功能通常是必不可少的一个功能。本文将介绍如何使用Java实现搜索功能,包括搜索框处理、全文搜索等功能。 处理搜索框请求 在Java Web应用程序中,处理搜索功能的第一步是处理搜索框的请求。搜索框通常是一个包含输入框和提交按钮的HTML表单。例如,以下是一个简单的搜索框: <form …

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