MyBatisPlus-QueryWrapper多条件查询及修改方式

MyBatisPlus-QueryWrapper多条件查询及修改方式攻略

简介

MyBatisPlus是一个优秀的持久层框架,提供了丰富的查询和修改功能。其中,QueryWrapper是MyBatisPlus提供的一个用于构建查询条件的工具类,可以方便地实现多条件查询和修改操作。

多条件查询

使用QueryWrapper进行多条件查询的步骤如下:

  1. 导入相关依赖
    xml
    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>最新版本</version>
    </dependency>

  2. 创建QueryWrapper对象
    java
    QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();

  3. 添加查询条件
    java
    queryWrapper.eq(\"字段名\", 值); // 等于
    queryWrapper.ne(\"字段名\", 值); // 不等于
    queryWrapper.gt(\"字段名\", 值); // 大于
    queryWrapper.ge(\"字段名\", 值); // 大于等于
    queryWrapper.lt(\"字段名\", 值); // 小于
    queryWrapper.le(\"字段名\", 值); // 小于等于
    queryWrapper.like(\"字段名\", 值); // 模糊查询
    queryWrapper.in(\"字段名\", 值1, 值2); // 包含在指定值中的查询
    queryWrapper.notIn(\"字段名\", 值1, 值2); // 不包含在指定值中的查询
    queryWrapper.isNull(\"字段名\"); // 为空的查询
    queryWrapper.isNotNull(\"字段名\"); // 不为空的查询

  4. 执行查询
    java
    List<Entity> result = entityMapper.selectList(queryWrapper);

示例1:查询年龄大于等于18岁的用户

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge(\"age\", 18);
List<User> result = userMapper.selectList(queryWrapper);

示例2:查询名字包含\"张\"并且年龄小于30岁的用户

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like(\"name\", \"张\");
queryWrapper.lt(\"age\", 30);
List<User> result = userMapper.selectList(queryWrapper);

多条件修改

使用QueryWrapper进行多条件修改的步骤如下:

  1. 创建QueryWrapper对象,添加修改条件
    java
    QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
    queryWrapper.eq(\"字段名\", 值); // 等于
    queryWrapper.ne(\"字段名\", 值); // 不等于
    queryWrapper.gt(\"字段名\", 值); // 大于
    queryWrapper.ge(\"字段名\", 值); // 大于等于
    queryWrapper.lt(\"字段名\", 值); // 小于
    queryWrapper.le(\"字段名\", 值); // 小于等于
    queryWrapper.like(\"字段名\", 值); // 模糊查询
    queryWrapper.in(\"字段名\", 值1, 值2); // 包含在指定值中的查询
    queryWrapper.notIn(\"字段名\", 值1, 值2); // 不包含在指定值中的查询
    queryWrapper.isNull(\"字段名\"); // 为空的查询
    queryWrapper.isNotNull(\"字段名\"); // 不为空的查询

  2. 创建要修改的实体对象
    java
    Entity entity = new Entity();
    entity.set字段名(新值);

  3. 执行修改
    java
    int affectedRows = entityMapper.update(entity, queryWrapper);

示例1:将年龄大于等于18岁的用户的性别修改为\"女\"

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge(\"age\", 18);

User user = new User();
user.setGender(\"女\");

int affectedRows = userMapper.update(user, queryWrapper);

示例2:将名字包含\"张\"并且年龄小于30岁的用户的状态修改为\"禁用\"

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like(\"name\", \"张\");
queryWrapper.lt(\"age\", 30);

User user = new User();
user.setStatus(\"禁用\");

int affectedRows = userMapper.update(user, queryWrapper);

以上就是使用MyBatisPlus-QueryWrapper进行多条件查询及修改的完整攻略。通过灵活运用QueryWrapper的各种方法,可以轻松实现复杂的查询和修改操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatisPlus-QueryWrapper多条件查询及修改方式 - Python技术站

(0)
上一篇 2023年7月28日
下一篇 2023年7月28日

相关文章

  • 用js对json加密解密

    用 JS 对 JSON 加密解密 在现代开发中,JSON 的使用非常普遍,它是一种轻量级的数据交换格式,被广泛应用于前后端数据传递、API 接口设计、存储文本数据等方面。然而,JSON 本身的文本格式对于敏感信息的保护来说并不太友好。这时,我们需要使用加密算法对 JSON 数据进行加密,以确保敏感信息不会被破解的同时,又可以方便地进行传输和解密。 在本文中,…

    其他 2023年3月28日
    00
  • 关于时间:将cudacudamemcpy分成多个块

    下面是关于“将cudaMemcpy分成多个块”的完整攻略: 1. 问题描述 在CUDA编程中,有时需要将数据从主机内存复制到设备内存,或者从设备存复制到主机内存。这可以使用cudaMemcpy函数来实现但是,当数据量很大时,一次性复制可能会致内存不或性能下降。如何将cudaMemcpy分成多个块来提高性能呢? 2. 解决方法 CUDA编程中,可以将cudaM…

    other 2023年5月7日
    00
  • PHP spl_autoload_register实现自动加载研究

    PHP中自动加载是一个非常重要的功能,然而在开发过程中我们使用大量的类,而一个一个地包含这些类不仅繁琐而且效率低下。PHP提供了一种自动加载机制,可以优化我们的开发流程。其中PHP spl_autoload_register函数就是实现自动加载功能的核心,本文将详细讲解如何使用PHP spl_autoload_register实现自动加载功能,以下是详细攻略…

    other 2023年6月27日
    00
  • iOS开发中一些手写控件及其相关属性的使用

    我来为大家详细讲解一下“iOS开发中一些手写控件及其相关属性的使用”的完整攻略。 一. 自定义控件 1.1 UILabel的自定义 UILabel是我们iOS开发中常用的控件,但是在某些情况下,我们可能需要对UILabel进行进一步的定制。此时,我们可以通过继承UILabel,并在其基础上进行定制。 示例代码: class CustomLabel: UILa…

    other 2023年6月27日
    00
  • MySql Group By对多个字段进行分组的实现方法

    首先,需要明确MySQL的Group By操作是应用于数据表中的某些字段,将这些字段中具有相同值的记录分为一组,然后对每组进行统计计算或其他操作,如聚合函数操作(求和、平均数等)。 要对多个字段进行分组,只需要在Group By语句中指定多个字段即可。例如,假设有一张包含用户订单信息的数据表order,包含以下字段:order_id、user_id、orde…

    other 2023年6月25日
    00
  • 关于java:替换字符串中的所有双引号

    简介 在Java中,可以使用replaceAll()方法来替换字符串中的所有双引号。该方法接受两个参数,第一个参数是要替换的字符串,第二个参数用于替换的字符串。本攻略将详细讲解如何使用replaceAll()方法替换字符串中的所有双引号。 步骤 下面使用replaceAll()方法来替换字符串中的所有双引号的步骤: 创建包含双引号的字符串。 使用replac…

    other 2023年5月8日
    00
  • thinkphp3(结构 路由 模板的调用 后台搭建 系统常量)

    thinkphp3:结构、路由、模板的调用、后台搭建和系统常量 ThinkPHP 3 是一款基于 MVC 设计模式的 PHP 开发框架,是国内最流行的 PHP 框架之一。它采用了优秀的设计理念和良好的代码结构,非常适合企业级 Web 应用开发。本篇文章将介绍 ThinkPHP 3 框架的结构、路由、模板的调用、后台搭建和系统常量。 结构 ThinkPHP 3…

    其他 2023年3月29日
    00
  • Android5.1系统通过包名给应用开放系统权限的方法

    Android 5.1系统通过包名给应用开放系统权限的方法攻略 在Android 5.1系统中,可以通过以下步骤给应用开放系统权限: 确定应用的包名:首先,需要确定要给应用开放权限的包名。包名是应用在Android系统中的唯一标识符,可以在应用的清单文件(AndroidManifest.xml)中找到。 编辑系统权限配置文件:接下来,需要编辑系统权限配置文件…

    other 2023年9月7日
    00
合作推广
合作推广
分享本页
返回顶部