iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >mybatisplus逻辑删除如何实现
  • 889
分享到

mybatisplus逻辑删除如何实现

2023-07-05 19:07:31 889人浏览 薄情痞子
摘要

这篇文章主要介绍了mybatisplus逻辑删除如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatisplus逻辑删除如何实现文章都会有所收获,下面我们一起来看看吧。mybatisplus中逻辑删

这篇文章主要介绍了mybatisplus逻辑删除如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatisplus逻辑删除如何实现文章都会有所收获,下面我们一起来看看吧。

mybatisplus中逻辑删除通俗说为了在数据库中保留数据,但是又不想进行其他一些sql语句时有他(刚刚通过逻辑删除了的)的存在。就是在数据库中添加一字段,通过数值内容来说明那些是指删除了的即可。

mp逻辑删除的基本实现

步骤一(添加数据库对应字段)

首先数据库中添加对应字段(此处通过deleted字段代表逻辑删除字段,即0为未被删除,1为已删除)

mybatisplus逻辑删除如何实现

步骤二(逻辑删除的实现) 

1.方法一(单表注解设置)

在数据表对象层中对应对类的对应字段中通过注解实现(@TableLogic(),这里value和delval就是mp给我们定义的是否删除的标记,数值由开发者设定)

@Data@AllArgsConstructor@NoArgsConstructorpublic class Book {    private Long id;    private String type;    private String name;    private String description;        //逻辑删除(就是在delete字段做标记,不是真正意义上的删除)    @TableLogic(value = "0",delval = "1")    private Integer deleted;}

2.方法二(全局配置文件设置)

通过配置实现。这样实现的就比较全局,没有指定那个指定数据表对象层中对应对类的对应字段实现逻辑删除这个功能,只要拥有全局设置一样的字段即可。

(这使用SpringBoot框架的application.yml配置为例,其中logic-delete-field是指要指定字段名,logic-delete-value:是删除后设置成的值,logic-not-delete-value是未删除的值是什么)

#  mp日志mybatis-plus:    db-config:      logic-delete-field: deleted      logic-delete-value: 1      logic-not-delete-value: 0

步骤三(测试

在测试类中测试并查看数据库对应表的对应测试数据有什么变化。

在此测试中发现,数据库表对应的数据并没有真正意义上的删除,只是在对应字段做好了设定好的标记。

而且在其他mp操作此表时并没有这条数据的参与,即实现开发者想删除某条数据,但又想数据库能保留这个数据记录。

1.测试类进行逻辑删除测试代码

这是通过id实现逻辑删除

    @Autowired    private BookDao bookDao;    @Test    public void deleteById(){        int i = bookDao.deleteById(12L);        System.out.println("影响行数为:"+i+"条");    }

2.删除后数据表对应数据变化

id为12数据对应的deleted已经变成了1

mybatisplus逻辑删除如何实现

3.测试其他mp操作是否有对标记删除了的数据有“参与”

此处是对上面操作完成后进行的mp操作(查询表中所有数据所有)

    @Autowired    private BookDao bookDao;    @Test    void findAll() {        List<Book> books = bookDao.selectList(null);        for (Book book :books) {            System.out.println(book);        }    }

结果如下(显然,id为12的数据并没有查询出来,但是数据库还是存在此条数据。)

mybatisplus逻辑删除如何实现

mp逻辑删除不生效

我这总结了几个可能遇到的一些仅仅关于mp逻辑删除本身可能出现的问题解决参考(排除一些其他因素,单纯讲讲mp逻辑删除本身的坑点)

坑点一

报错点: Cause: java.sql.SQLSyntaxErrorException: Unknown column &lsquo;deleted&rsquo; in &lsquo;where clause&rsquo;
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Unknown column &lsquo;deleted&rsquo; in &lsquo;where clause&rsquo;:

原因解释就跳过了,解决方法其实就是只要把设定的删除字段设置为“deleted”即可(也多注意逻辑删除需要添加的数据库字段得用“deleted”命名,不然可能就会报上面这个报错点了)。

坑点二

报错点:就是在多个表使用mp操作的时候,注意一些全局设置和局部设置区别。

例如这篇所说的mp逻辑删除内容,实现有两个方法,分别是数据表对象层中对应对类的对应字段中通过注解实现@TableLogic()和全局变量配置中设置。

注意如果设置成了局部,那么就只是针对设置了的实现,如果设置了全局,则所有设置了逻辑删除字段(deleted)在进行mp删除操作时,都是进行逻辑删除操作。

解决方法就是根据实际开发需求,实际操作设置即可。

关于“mybatisplus逻辑删除如何实现”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“mybatisplus逻辑删除如何实现”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: mybatisplus逻辑删除如何实现

本文链接: https://www.lsjlt.com/news/354608.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatisplus逻辑删除如何实现
    这篇文章主要介绍了mybatisplus逻辑删除如何实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatisplus逻辑删除如何实现文章都会有所收获,下面我们一起来看看吧。mybatisplus中逻辑删...
    99+
    2023-07-05
  • mybatisPlus怎么实现逻辑删除
    本篇内容主要讲解“mybatisPlus怎么实现逻辑删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mybatisPlus怎么实现逻辑删除”吧!网上大部分的关于mybatisPlus的逻辑删除...
    99+
    2023-06-29
  • mybatisPlus填坑之逻辑删除的实现
    网上大部分的关于mybatisPlus的逻辑删除的配置介绍都是有问题的,原因可能是官网已经做了更新!!!错误如图: 正确的配置是: SpringBoot 配置方式: applica...
    99+
    2024-04-02
  • MybatisPlus实现逻辑删除的示例代码
    目录1、什么是逻辑删除2、使用说明:3、如何使用Mybatis Plus实现逻辑删除4、测试1、什么是逻辑删除 逻辑删除是名义上的删除,就是对要要删除的数据打上一个删除标记,在逻辑上...
    99+
    2023-05-19
    MybatisPlus逻辑删除 Mybatis 逻辑删除
  • mybatisplus的逻辑删除问题
    目录mybatisplus的逻辑删除使用mybatisplus逻辑删除,修改含有逻辑删除的字段爆错总结mybatisplus的逻辑删除 mp提供的逻辑删除实现起来非常简单 只需要在a...
    99+
    2023-03-10
    mybatisplus逻辑删除 逻辑删除
  • mybatisplus的逻辑删除问题怎么解决
    本文小编为大家详细介绍“mybatisplus的逻辑删除问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“mybatisplus的逻辑删除问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。myb...
    99+
    2023-07-05
  • thinkphp怎么实现逻辑删除
    本篇内容主要讲解“thinkphp怎么实现逻辑删除”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp怎么实现逻辑删除”吧!ThinkPHP 逻辑删除:什么是逻辑删除及如何使用它?在一...
    99+
    2023-07-05
  • mybatis plus实现分页逻辑删除
    一、分页 通过mybatis-plus实现分页,也是很简单,插件大法。 1、配置分页插件 把分页的插件也配置到统一的配置类里: @Configuration // 配置扫描mappe...
    99+
    2024-04-02
  • MyBatis-Plus怎么实现逻辑删除
    这篇“MyBatis-Plus怎么实现逻辑删除”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MyBatis-Plus怎么实现...
    99+
    2023-06-30
  • springboot+mybatis-plus+oracle实现逻辑删除
    最近在做一个前后端分离的小项目,需要删除用户表的用户,但是用户再别的表做了外键,所以只能做成逻辑删除,一通百度查资料后得以实现: 1、用户实体类 package com.sie....
    99+
    2024-04-02
  • Mybatis-plus逻辑删除
    实际开发中,数据删除一般有2种选择: 1:物理删除 物理删除,也称为硬删除,指的是数据直接从数据库中移除,对应的SQL语句:DELETE FROM 表 where 条件,这种删除成功后,数据就无法再恢复啦。 2:逻辑删除 ...
    99+
    2023-09-01
    数据库 mysql sql
  • mybatis-plus如何配置逻辑删除
    目录mybatis-plus配置逻辑删除逻辑删除失效原因及解决方案测试依赖解决方案mybatis-plus配置逻辑删除 引入jar包 <!--mybatis-plus-->...
    99+
    2024-04-02
  • 详解MyBatisPlus逻辑删除与唯一索引冲突问题
    1、问题背景: 在开发中,我们经常会有逻辑删除和唯一索引同时使用的情况。但当使用mybatis plus时,如果同时使用逻辑删除和唯一索引,会报数据重复Duplicate entr...
    99+
    2024-04-02
  • MyBatisPlus逻辑删除与唯一索引冲突的示例分析
    小编给大家分享一下MyBatisPlus逻辑删除与唯一索引冲突的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、问题背景:在开发中,我们经常会有逻辑删除...
    99+
    2023-06-14
  • MyBatis-Plus实现逻辑删除的示例代码
    目录一、引言二、具体实现步骤一:首先我们需要配置未删除、已删除分别标识的状态码是什么,这里采用的yml格式。步骤二:在实体类对应的字段上加上注解@TableLogic即可。步骤三:测...
    99+
    2024-04-02
  • 解析MyBatisPlus解决逻辑删除与唯一索引的兼容问题
    目录需求背景二、MyBatisPlus逻辑删除三、测试1、用户表2、创建对应实体3、物理删除测试4、逻辑删除测试需求背景 比如有张用户表,在插入或者更新数据的时候,我们需要 ...
    99+
    2023-05-15
    MyBatisPlus逻辑删除与唯一索引 MyBatisPlus逻辑删除
  • 怎么用MyBatisPlus解决逻辑删除与唯一索引的兼容问题
    这篇文章主要介绍“怎么用MyBatisPlus解决逻辑删除与唯一索引的兼容问题”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用MyBatisPlus解决逻辑删除与唯一索引的兼容问题”文章能帮助大...
    99+
    2023-07-06
  • MyBatis-Plus逻辑删除和字段自动填充的实现
    目录一、ID生成策略1、使用@TableId注解2、全局ID生成策略二、逻辑删除1、全局配置2、使用@TableLogic注解三、字段自动填充1、指定字段自动填充2、自定义MetaO...
    99+
    2022-11-13
    MyBatis-Plus逻辑删除 MyBatis-Plus 字段自动填充
  • springboot中怎么利用mybatis-plus和oracle实现逻辑删除
    springboot中怎么利用mybatis-plus和oracle实现逻辑删除,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。用户实体类package com.sie...
    99+
    2023-06-20
  • mybatis-plus怎么配置逻辑删除
    本篇内容介绍了“mybatis-plus怎么配置逻辑删除”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mybatis-plus配置逻辑删除引...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作