一.邏輯刪除
邏輯刪除的本質是修改操作,所謂的邏輯刪除其實並不是真正的刪除,而是在表中將對應的是否刪除標識(is_delete)或者說是狀態字段(status)做修改操作。比如0是未刪除,1是刪除。在邏輯上數據是被刪除的,但數據本身依然存在庫中。
對應的SQL語句:update 表名 set is_delete = 1 where id = 1;語句表示,在該表中將id為1的信息進行邏輯刪除,那么客戶端進行查詢id為1的信息,服務器就不會提供信息。倘若想繼續為客戶端提供該信息,可將 is_delete 更改為 0 。
二.流程
1.配置邏輯刪除插件
@Configuration //配置文件
@MapperScan("com.np.eduservice.mapper")
public class EduConfig {
/**
* 邏輯刪除
*
* */
@Bean
public ISqlInjector sqlInjector(){
return new LogicSqlInjector();
}
}
2.在實體類上添加注解 @TableLogic
@ApiModelProperty(value = "邏輯刪除 1(true)已刪除, 0(false)未刪除")
@TableLogic //邏輯刪除
private Boolean isDeleted;
3.編寫controller方法
//刪除教師
@DeleteMapping("{id}") //id值需要通過路徑進行傳遞 PathVariable 獲取路徑中的id值
public boolean removeTeacher(@PathVariable String id){
boolean b = eduTeacherService.removeById(id);
return b;
}