Mybatis-plus删除操作详解

一、mybatisplus删除语句

Mybatis-plus的删除操作通过使用DeleteWrapper对要删除的数据进行封装来实现。DeleteWrapper是Mybatis-plus提供的一个 Wrapper 类, 用于构建要删除的数据的条件,删除时只需把它传递给 delete 方法即可。
以下是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.eq("age", 20);
int rows = userMapper.delete(wrapper);

上面代码中,首先构建了一个DeleteWrapper对象wrapper,它使用eq方法将age等于20作为要删除的条件。接着将wrapper对象传递给userMapper的delete方法,并将受影响的行数赋值给rows变量。

二、mybatisplus删除返回受影响的行数

在Mybatis-plus的删除操作中,调用delete方法后会返回受影响的行数。下面是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.eq("age", 18);
int rows = userMapper.delete(wrapper);
System.out.println("受影响的行数:" + rows);

三、mybatisplus删除方法

Mybatis-plus提供了多个删除方法,包括deleteById、deleteByMap、delete等多个方法。具体使用哪个方法,根据实际情况来决定。

以下是deleteById示例代码:

int rows = userMapper.deleteById(1L);
System.out.println("受影响的行数:" + rows);

以上代码中,deleteById方法删除id为1的记录,并返回受影响的行数。

四、Mybatisplus删除全表数据

删除整张表的数据需要在Wrapper中使用无条件构建删除条件。下面是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
int rows = userMapper.delete(wrapper);
System.out.println("受影响的行数:" + rows);

以上代码中,构建了一个无条件的DeleteWrapper对象wrapper,传递给userMapper的delete方法即可删除整张表的数据,并返回受影响的行数。

五、mybatisplus删除条件

Mybatis-plus的DeleteWrapper用于构建删除条件,可以灵活设置条件。以下是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.eq("age", 20)
    .ne("email", "test@baomidou.com")
    .like("name", "Tom");
int rows = userMapper.delete(wrapper);

以上代码中,构建了一个DeleteWrapper对象wrapper,通过eq、ne、like等方法设置删除条件,删除age等于20,但email不等于test@baomidou.com且name包含Tom的记录。

六、mybatisplus删除七天前数据

想要删除七天以前的数据,需要使用Mybatis-plus提供的时间查询方法,下面是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.le("create_time", LocalDateTime.now().minusDays(7));
int rows = userMapper.delete(wrapper);

以上代码中,构建了一个DeleteWrapper对象wrapper,调用了le方法设置条件,删除create_time小于等于当前时间减去7天的记录。

七、mybatisplus删除数据

Mybatis-plus的删除操作支持批量删除,可以用List、Map、Array等方式传递多个参数。

以下是示例代码:

List ids = Arrays.asList(1, 2, 3);
int rows = userMapper.deleteBatchIds(ids);

以上代码中,构建了一个List对象ids,其中包含了要删除的记录的id值。将ids传递给userMapper的deleteBatchIds方法,删除对应的记录,并返回受影响的行数。

八、mybatisplus删除不生效

在Mybatis-plus的删除操作中,如果删除不生效,可能是由于我们所构建的Wrapper对象中的条件不正确导致的。可以通过打印sql语句,定位到具体的问题,并进行调整。
以下是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.eq("age", 18);
String sql = "delete from user where age = 19";
int rows = userMapper.delete(wrapper);
System.out.println("受影响的行数:" + rows);
System.out.println("执行的sql语句:" + sql);

在以上代码中,我们构建了一个DeleteWrapper对象wrapper,并设置了删除条件删除age等于18的记录。但在实际执行中,我们手动编写了sql语句,删除了age等于19的记录。当我们执行程序后,会发现受影响的行数为0,这时候我们可以查看输出的sql语句,找到问题。

九、mybatisplus删除拼接的条件

在Mybatis-plus的删除操作中,如果我们需要对删除条件进行拼接,可以使用LambdaQueryWrapper的方法进行构建。

以下是示例代码:

DeleteWrapper wrapper = new DeleteWrapper();
wrapper.and(i -> i.eq("age", 30).or().eq("age", 40));
int rows = userMapper.delete(wrapper);

以上代码中构建了一个DeleteWrapper对象wrapper,通过and方法拼接了两个查询条件,删除age等于30或等于40的记录。

总结

通过本文章的介绍,我们可以看到Mybatis-plus提供了多种删除操作的方法,并且可以通过Wrapper的方法进行灵活的条件设置。但我们在使用过程中需要注意删除条件的设置和拼接,以免造成意料之外的结果。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/243916.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:59
下一篇 2024-12-12 12:59

相关推荐

  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python代码实现回文数最少操作次数

    本文将介绍如何使用Python解决一道经典的回文数问题:给定一个数n,按照一定规则对它进行若干次操作,使得n成为回文数,求最少的操作次数。 一、问题分析 首先,我们需要了解回文数的…

    编程 2025-04-29
  • Python磁盘操作全方位解析

    本篇文章将从多个方面对Python磁盘操作进行详细阐述,包括文件读写、文件夹创建、删除、文件搜索与遍历、文件重命名、移动、复制、文件权限修改等常用操作。 一、文件读写操作 文件读写…

    编程 2025-04-29
  • 理解Mybatis中的SQL Limit用法

    Mybatis是一种非常流行的ORM框架,提供了SQL映射配置文件,可以使用类似于传统SQL语言的方式编写SQL语句。其中,SQL的Limit语法是一个非常重要的知识点,能够实现分…

    编程 2025-04-29
  • Python元祖操作用法介绍

    本文将从多个方面对Python元祖的操作进行详细阐述。包括:元祖定义及初始化、元祖遍历、元祖切片、元祖合并及比较、元祖解包等内容。 一、元祖定义及初始化 元祖在Python中属于序…

    编程 2025-04-29
  • 如何用Python对数据进行离散化操作

    数据离散化是指将连续的数据转化为离散的数据,一般是用于数据挖掘和数据分析中,可以帮助我们更好的理解数据,从而更好地进行决策和分析。Python作为一种高效的编程语言,在数据处理和分…

    编程 2025-04-29
  • Python列表的读写操作

    本文将针对Python列表的读取与写入操作进行详细的阐述,包括列表的基本操作、列表的增删改查、列表切片、列表排序、列表反转、列表拼接、列表复制等操作。 一、列表的基本操作 列表是P…

    编程 2025-04-29
  • Python序列的常用操作

    Python序列是程序中的重要工具,在数据分析、机器学习、图像处理等很多领域都有广泛的应用。Python序列分为三种:列表(list)、元组(tuple)和字符串(string)。…

    编程 2025-04-28

发表回复

登录后才能评论