删除分为两种:逻辑删除和物理删除
物理删除: 真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据。
逻辑删除: 假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录。
使用场景: 可以进行数据恢复。
MybatisPlus是使用@TableLogic进行的逻辑删除
如何实现逻辑删除?
步骤:
step1:数据库中创建逻辑删除状态列,设置默认值为0
step2:实体类中添加逻辑删除属性
step3:测试
测试删除功能,真正执行的是修改
UPDATE t_user SET is_deleted=1 WHERE id=? AND is_deleted=0
测试查询功能,被逻辑删除的数据默认不会被查询
SELECT id,username AS name,age,email,is_deleted FROM t_user WHERE is_deleted=0