?@TableLogic注解表示邏輯刪除
效果:在字段上加上這個注解再執行BaseMapper的刪除方法時,刪除方法會變成修改
場景:
?? ?1.實體類中屬性加上@TableLogic,
?? ?@TableLogic
?? ?private Integer dataStatus;
?? ?2.調用BaseMapper的deleteById(id)或者調用IService的removeById(id)
?? ?
?? ?效果:
?? ??? ?沒有@TableLogic注解調用deleteById/removeById,直接刪除數據。
?? ??? ??? ?SQL:delete from table where id = 1
?? ??? ?有注解走Update方法
?? ??? ??? ?SQL:Update table set isDelete = 1 where id = 1
?? ?@TableLogic注解參數
value = "" 未刪除的值,默認值為0
delval = "" 刪除后的值,默認值為1
@TableLogic(value="原值",delval="改值")
?? ?擴展
?? ?當使用了@TableLogic注解,調用update方法是并不會將該字段放入修改字段中,而是在條件字段中。即使你給dataStatus賦值也不會修改。
?? ?SQL: Update table set 字段1 = 值1,字段2 = 值2 where id = 1 and data_status = 0