논리적 삭제: 플래그 삭제 표시 필드를 지원할 뿐만 아니라 삭제 시간 필드도 자동으로 채웁니다. 플래그 필드는 시간, 숫자 유형 또는 부울일 수 있습니다!
@Data @Table 공용 클래스 LogicDeleteTest { @TableId private Long id; 개인 문자열 이름; 개인 LocalDateTime deleteTime; @LogicDelete(beforeValue = "0", afterValue = "1", deleteTimeField = "deleteTime") 개인 바이트가 삭제되었습니다. }
1. @LogicDelete 속성 beforeValue 삭제 전 값은 고정된 값만 가능하며, 시간형 로직의 경우에는 입력하지 않아도 됩니다. 2. @LogicDelete 속성 afterValue 삭제 후의 값은 고정된 값일 수도 있고 afterValue = "{NOW}" 와 같은 동적 값일 수도 있으며 , 현재는 LocalDateTime, Date, Long, Integer가 지원되며 프레임워크에서 자동으로 3의 값을 부여합니다 . @LogicDeletepropertydeleteTimeField _ _ 논리적 삭제를 위한 시간 필드는 비워둘 수 있으며, 입력하면 시스템 자동 업데이트 시 삭제 시간이 설정됩니다 . deleteTimeField 지원 에 해당하는 필드 유형 : LocalDateTime, Date, Long, Integer 유형 4. 전역 스위치 논리적 삭제 ( 기본적으로 on ) MybatisMpConfig.setLogicDeleteSwitch(true) ; 5 논리적 삭제 - 로컬 스위치 시도 (LogicDeleteSwitch 무시 = LogicDeleteSwitch.with(false)) { logicDeleteTestMapper.getById(1); } 위 코드는 시도해야 함 (LogicDeleteSwitch 무시 = LogicDeleteSwitch.with(false)) 또는 다음이 더 간단합니다. LogicDeleteTest logicDeleteTest = LogicDeleteUtil.execute(false, () -> { return logicDeleteTestMapper.getById(1); });