美文网首页java学习之路
Mybatis plus逻辑删除注解@TableLogic

Mybatis plus逻辑删除注解@TableLogic

作者: 唯有努力不欺人丶 | 来源:发表于2021-10-28 20:56 被阅读0次

首先这个注解是苞米豆出品,也就是我们常说的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升级版的东西。简单讲一下这个注解的用法:我们在做数据库设计...

  • @TableLogic 逻辑删除

    @TableLogic 逻辑删除 实体类字段上加上@TableLogic注解 效果: 使用mp自带方法删除和查找都...

  • MyBatis-Plus逻辑删除

    前文概要:《MyBatis-Plus使用入门》 我们先为实体类增加逻辑删除字段,并且表明逻辑删除的注解。 然后,数...

  • 框架注解解析

    一,通用注解 二,Spring 三,mybatis/mybatis-plus注解 四,hibernate注解

  • mybatis plus项目中用法小结

    1. 传入集合参数 GET方式也可以接收List参数 2、mybatis plus物理删除和逻辑删除 物理删除时,...

  • 注解

    @TableLogic在使用了这个注解后,调用删除的方法就变成更新了@TableName("t_schedule_...

  • mybatis-plus逻辑删除

    springboot整合mybatis-plus 1、application.properties 添加一下配置 ...

  • mybatis plus之逻辑删除

    MP(mybatis plus)已经大大简化了我们好多的开发操作,基本的增删改查都有了,包括代码生成等等,今天想说...

  • Mybatis-Plus逻辑删除

    逻辑删除 SpringBoot 配置方式: application.yml 加入配置(如果你的默认值和mp默认的一...

  • SpringBoot JWT令牌保护、注册、登录、统一异常拦截、

    上一篇 SpringBoot Mybatis-Plus逻辑删除和自动填入默认值[https://www.jians...

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/oalyaltx.html