物理删除:从数据库中直接删除
逻辑删除:在数据库中没有被删除,而是通过一个变量来使他失效! deleted=0 ==> deleted=1
管理员可以查看被删除的记录!防止数据的丢失,类似于回收站!
Test
- 在数据表中增加一个deleted字段(int类型)
- 实体类增加相应的属性
@TableLogic//逻辑删除注解
private Integer deleted;
-
ioc注册逻辑删除组件
//逻辑删除组件 @Bean public ISqlInjector sqlInjector(){ return new LogicSqlInjector(); }
-
配置properties文件
#配置逻辑删除 没删除的为0 删除的为1 mybatis-plus.global-config.db-config.logic-delete-value=1 mybatis-plus.global-config.db-config.logic-not-delete-value=0
-
测试删除
发现: 记录还在,deleted变为1
再次测试查询被删除的用户,发现查询为空
以上所有的CRUD及其扩展操作,我们都必须精通掌握!会大大提高工作写项目的效率!