广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis plus逻辑删除注解@TableLogic的使用
  • 940
分享到

Mybatis plus逻辑删除注解@TableLogic的使用

2024-04-02 19:04:59 940人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录物理删除和逻辑删除@TableLogic注解@TableLogic注解默认值:@TableLogic注解用法首先这个注解是苞米豆出品,也就是我们常说的mybatis升级版的东西。

首先这个注解是苞米豆出品,也就是我们常说的mybatis升级版的东西。

简单讲一下这个注解的用法:我们在做数据库设计的时候有时候哪怕是删除也不会真的走物理删除,毕竟这样很多数据就不可恢复了,大多数时候很多删除都是用逻辑删除。

物理删除和逻辑删除

简单来说物理删除就是真的把这条数据从数据库删除了。
而逻辑删除主要是把表中的某一个字段作为标识符,一般我们常用的会默认初始为0,当我们想要删除这条数据的时候会把这个标识符改成1。这样在我们的常识里这条记录就被删除了。并且任何的查询都会添加这个条件,也就是要在代码中保证查询出来的数据是有效的。

@TableLogic注解

@TableLogic注解默认值:

刚刚已经说了这个注解是用于逻辑删除的,代表一个标识符,既然是标识符肯定要有值了,比如我上面说的0表示存在,1表示删除。但是不能排除有的设计就是不按照常理,比如1表示存在,2表示删除。所以@TableLogic注解是可以设置默认值的。用法如下:

@TableLogic(value=“存在标识”,delval=“删除标识”)
private Integer del_flag;

如果不写value和delval会默认存在标识是0.删除标识是1.

@TableLogic注解用法

这个注解的用处就比较简单了,当我们在实体类中某一个字段添加了这个注解,就相当于告诉mp这个字段是个标识符。我们调用BaseMapper或者调用IService的所有增删改查方法会受影响。

  • 查询的时候用条件构造器,不用再对这个字段进行判断,会自动筛选出存在的值。这里需要注意拿我上面的demo举例:哪怕我们传条件del_flag = 1,也不会生效。简单总结下:用mp条件构造器查询出来的结果一定是逻辑存在的
  • 修改的时候差不多,如果我们把实体对象的del_flag 赋值为1然后保存,也是保存不成功的。
  • 删除的时候我们如果不用这个注解,用mp的delete方法或者remove方法都是物理删除。但是如果用了这个注解,那么所有的delete方法或者remove方法都是逻辑删除,也就是将del_flag 改为1.

需要注意的是上面说的都只对mp的查询有影响,我们用xml或者注释的方式自己写sql是不生效的!

本篇笔记就记到这里,如果稍微帮到你了记得点个喜欢点个关注,也祝大家工作顺顺利利!其实这个知识点是新公司学到的东西,以前不知道所有的逻辑删除都要自己写,虽然能实现但是也麻烦的很,有时候我会觉得所谓的技术不见得是写出别人写不出来的东西,而是知道,使用,制作更好的轮子。愿我们都在前进的路上!

到此这篇关于Mybatis plus逻辑删除注解@TableLogic的文章就介绍到这了,更多相关Mybatis plus @TableLogic内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Mybatis plus逻辑删除注解@TableLogic的使用

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

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

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

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

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作