MyBatis-Plus的物理删除和逻辑删除怎么用
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了MyBatis-Plus的物理删除和逻辑删除怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。物理删除:真实删除,
千家信息网最后更新 2025年11月07日MyBatis-Plus的物理删除和逻辑删除怎么用
这篇文章主要介绍了MyBatis-Plus的物理删除和逻辑删除怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
物理删除:真实删除,将数据从数据库中删除,删除后查询不到被删除的数据
逻辑删除:假删除,方便删除之后的数据恢复
在表中添加一个status字段,作为删除的标准,每次删除时,修改标志位,0代表没有删除,1代表删除
被删除记录的status字段被修改为"被删除状态"(1),删除后还可以查询到数据
逻辑删除的使用场景
1.需要进行数据恢复
2.有关联数据,不便删除
# mysql//测试逻辑删除status int null default null
# 实体类//实现逻辑删除@TableLogic@TableField(fill=FieldFill.INSERT) //为了方便测试private Integer status;
# MpConfig配置类//status在添加时自动填充默认为0,未被删除状态(1是被删除状态)this.setFieldValByName("status",0,metaObject);# Test测试类//先添加测试数据@Testpublic void testAdd(){ User user=new User(); //没有设置id属性主键自增长,但mybatis-plus会使用主键策略自动生成id值 user.setName("wangwu"); user.setAge(18); user.setEmail("licy@163.com"); int insert=userMapper.insert(user); System.out.println(insert);}//再测试逻辑删除//在表中添加一个status字段,作为删除的标准,每次删除时,修改标志位,0代表没有删除,1代表删除//UPDATE user SET status=1 WHERE id=? AND status=0 查询条件有一个status=0,即查询的都是没有被删除过的记录,被删除过的记录就不会被查询出来了@Testpublic void testDeleteByLogic(){ int rows=userMapper.deleteById(1441596779656179713L); //在做了逻辑删除的配置后,再使用id进行删除,执行的语句变成了修改id=?并且status为0的记录,如果status原来就是1(被删除过了),也不会再被删除, System.out.println(rows);}先添加测试数据
再测试逻辑删除
感谢你能够认真阅读完这篇文章,希望小编分享的"MyBatis-Plus的物理删除和逻辑删除怎么用"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
逻辑
数据
测试
查询
代表
篇文章
物理
字段
状态
数据恢复
标准
标志
配置
不便
价值
兴趣
同时
场景
实体
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机学习软件开发周报
软件开发成熟度cmmi
北航网络安全学院毕业去向
网络安全法直接人员依法追究
花旗银行软件开发具体做啥
液位计软件开发
广州星跑网络技术
如何学好计算机网络技术论文
网络安全法规定网络安全主权
浩辰软件开发的软件
数据库百科全书pdf
上海互联网科技展
用友系统 国产数据库
专精特新网络安全
计算机网络技术工作状态
四年级网络安全内容手抄报
国防科技大学招收的软件开发
教师网络安全发言稿
php 数据库数据类型
徐州信息化软件开发哪个好
网络安全总结要点
周村生产软件开发咨询
网络安全算是什么领域
pdu服务器电源哪家优惠
网络安全系统知识
哪些是正确的网络安全攻略
网络安全手抄报黑白困难
河北汇友网络技术有限公司
系统软件开发的案例
数据库 安全性控制机制
