逻辑删除
什么是逻辑删除?
逻辑删除:是将逻辑字段更新,并不是真正的删除数据库中的数据。这保证了数据的安全性
还有一个是物理删除,那什么是物理删除呢?
物理删除:真正意义上的删除,从数据库中删除数据
怎么使用逻辑删除呢?
1.创建逻辑字段
deleted字段
逻辑删除所需要的配置
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
2.在properties文件配置
mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0
3.在实体类中指定逻辑字段
@TableLogic private Integer deleted;
4.测试逻辑删除
@Test //普通删除 void testDelete(){ userMapper.deleteById(8L); }
运行时的sql语句
==> Preparing: UPDATE user SET deleted=1 WHERE id=? AND deleted=0 ==> Parameters: 8(Long) <== Updates: 1
我们发现,它并不是执行删除语句,而是执行更新逻辑字段语句