MyBatis-Plus的物理删除和逻辑删除怎么用
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章主要介绍了MyBatis-Plus的物理删除和逻辑删除怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。物理删除:真实删除,
千家信息网最后更新 2025年01月17日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安全错误
数据库的锁怎样保障安全
公共信息网络安全监察处联系方式
盐城智能化服务器厂商
网络安全手抄报二年级学生
网络安全整改报告个人
什么是数据库新技术
u8数据库与口令
300大作战无法连接服务器
软件开发生产实践总结
和平精英怎么在服务器上放风衣
淘宝个人数据库在哪里
静海市网络安全倡议书
iis服务器支持访问控制类型
lilacs 数据库
龙岗软件开发培训
软件开发是什么专业内容
纽约理工大学网络安全
快速建立一个数据库
cmd怎样删除数据库
杭州项目软件开发要多少钱
云服务器能装win10镜像吗
廊坊乐普网络技术有限公司
u8数据库与口令
ftp服务器上传作业
无线mesh网络技术
数据库将时间字符串转为日期
河北工商银行软件开发中心
战神引擎数据库用哪个
传奇服务器怎么获取权利
关于数据库技术及应用的书籍
参观网络安全运营中心