1.先在数据库加delete_status字段,还有实体类加deleteStatus字段(你试试实体类加delete_status,会有问题,默认是驼峰),这就是告诉spring,我要把这字段设为删除标志
@TableLogic//逻辑删除
private Integer deleted;
2.在3.1.1版本之前需要在自己写的配置类中配置,后续版本直接跳过,spring帮着配好了
@Configuration
public class MyConfig {
@Bean
public ISqlInjector SqlInjector(){
return new LogicSqlInjector();
}
}
3.application.properties配置,或是yml配置,指定删除的value设为1,恢复的设为0
#逻辑删除配置
mybatis-plus.global-config.db-config.logic-delete-value=1
mybatis-plus.global-config.db-config.logic-not-delete-value=0
4.测试
//测试删除
@Test
public void deleteTest(){
userMapper.deleteById(1271075432286806022L);
}
结果,其实是更新,把deleted=0设为1,查询时只查为零的数据
==> Preparing: UPDATE user SET deleted=1 WHERE id=? AND deleted=0
==> Parameters: 1271075432286806022(Long)
<== Updates: 1