mybatis-mp - 하이라이트 3: 논리적 삭제, 자동으로 삭제 시간을 채울 수 있음

논리적 삭제: 플래그 삭제 표시 필드를 지원할 뿐만 아니라 삭제 시간 필드도 자동으로 채웁니다. 플래그 필드는 시간, 숫자 유형 또는 부울일 수 있습니다!

@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);
 });


Guess you like

Origin www.oschina.net/news/273926