mybatisplus删除语句,实现逻辑删除功能
这篇文章主要介绍了MybatisPlus实现逻辑删除功能,文中通过示例代码介绍得非常详细,对大家的学习或者工作具有一定的参考学习价值,
逻辑删除
你有没有见过某些网站进行一些删除操作之后,你看不到记录了但是管理员却能够查看到。这里就运用到了逻辑删除。
什么是逻辑删除?
逻辑删除的本质是修改操作,所谓的逻辑删除其实并不是真正的删除,而是在表中将对应的是否删除标识(deleted)或者说是状态字段(status)做修改操作。比如0是未删除,1是删除。在逻辑上数据是被删除的,但数据本身依然存在库中。
对应的SQL语句:
1update user set deleted=1 where id =1 and deleted=0
update 表名 set deleted = 1 where id = 1;语句表示,在该表中将id为1的信息进行逻辑删除,那么客户端进行查询id为1的信息,服务器就不会提供信息。倘若想继续为客户端提供该信息,可将 deleted 更改为 0 。
查找的话呢是通过加上条件deleted=0
1select * from user where deleted=0
来自官网的配置,这里直接复制
第一步 添加全局配置
mybatis-plus:
global-config:
db-config:
logic-delete-field: flag # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
第二步、在实体类上添加@TableLogic注解
@TableLogic
private Integer deleted;//对应的实体字段,实体字段需要根据数据库字段命名
这样就会在预编译sql中自动给这个字段设置的值就是全局配置设置的值
当然也可以设置局部生效 单个实体生效(不推荐)只需要在注解中添加
完整的实体示例
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
private long id;
private String name;
private long age;
private String email;
private long managerId;
private LocalDateTime createTime;
private LocalDateTime updateTime;
private long version;
@TableLogic(value = "0",delval = "1") //value表示逻辑未删除值,delval表示逻辑删除设置的值
private long deleted;
}
执行结果:

查看表中数据:

到此这篇关于MybatisPlus实现逻辑删除功能的文章就介绍到这了
- 相关文章
-
生姜叶子发黄为什么(生姜高温失绿症的防治)
高温失绿症是南方地区普遍发生的一种生理性病害,在高温和强日照条件下发生。生姜茎叶生长以20℃~28℃较为适宜,但在夏季超过30℃时,加之遭遇强光照,生姜叶片即开始发黄,生长不旺,叶片中叶绿素减少,严重时影响植株正常生长,导致植株矮小,甚至枯萎。生姜高温失绿症主要是由于生长环境恶化造成的,可通过调节温
-
集成灶为什么自动熄火(集成灶常见故障有哪些!)
1 集成灶显示屏没有显示 不通电01 检测看看插座是否有电,看看电源线有没有损坏或者脱落02 用万用表检测电路板测量其阻值是否异常,如果坏了,就及时更换2 集成灶抽油烟机不转 01 检测电路板控制油烟机启动的继电器有没有损坏02 检测油烟机启动电容03 检测其油烟机电机有无卡死,或者烧坏04 检测其
-
夏天空调为什么不制冷(空调的“假性故障”,你知道吗?)
酷夏都是靠空调续命的出门一分钟,汗如雨下最怕遇到空调突然“抽风”遇到这种情况怎么办?叫师傅上门修但你有想过,空调可能只是“假性故障”先试试吧!以免花冤枉钱天天高温35℃,一下班回到家只想吹着空调葛优躺,却发现空调突然不给力,开了十分钟,还是没什么凉气。为什么空调突然不制冷了?自查方法如下:①检查空调
-
中国房价为什么这么贵(颠覆你的认知!我国房价大涨的主要原因)
过去几年,我国房地产市场持续飙升,让许多人感到困惑,我们常常将房价上涨归因于通胀。然而,今天我要颠覆你的认知!在本文中,我将从另一个角度来解读房价上涨的原因,并揭示其中隐藏的真相。亲爱的读者们,你们有没有想过,为什么我们国家的房价一路飙升,与通胀似乎没有直接关系?与其一味将房价涨幅归结于通胀,我认为
-
为什么资金链会断裂呢(导致资金链断裂的原因及解决方法)
导致资金链断裂的原因有以下几种:营运资金不足:企业规模扩张过快,超过其财务资源允许的业务量,导致过度交易,形成营运资金不足。此外,存货增加、收款延迟、付款提前等原因也可能造成现金周转速度减缓,如果企业没有足够的现金储备或借款额度,就缺乏增量资金补充投入,而原有的存量资金却因周转缓慢无法满足企业日常生