mybatis-mp: resalta tres: eliminación lógica, que puede completar automáticamente el tiempo de eliminación

Eliminación lógica: no solo admite el campo de marca de eliminación de la bandera, sino que también completa automáticamente el campo de hora de eliminación. ¡El campo de la bandera puede ser de tiempo, de tipo numérico o booleano!

@Data
 @Table
 public class LogicDeleteTest {
 
    @TableId
     private Long id;

    nombre de cadena privada;

    privado LocalDateTime eliminarTime;

    @LogicDelete(beforeValue = "0", afterValue = "1", deleteTimeField = "deleteTime")
     Byte privado eliminado;
}
1. El valor del atributo @LogicDelete beforeValue antes de la eliminación solo puede ser un valor fijo; la lógica del tipo de tiempo se puede dejar en blanco
 
2. El valor del atributo @LogicDelete afterValue después de la eliminación puede ser un valor fijo o un valor dinámico como afterValue = " {NOW}" , actualmente admite LocalDateTime, Date, Long, Integer , el marco proporciona automáticamente un valor de
 
3. @LogicDelete atributo deleteTimeField El campo de hora para la eliminación lógica se puede dejar en blanco. Si se completa, el tiempo de eliminación se establece cuando el sistema se actualiza automáticamente. El tipo de campo correspondiente a
 deleteTimeField admite: LocalDateTime, Date, Long, Integer type
 
4. Conmutador global para eliminación lógica ( activada de forma predeterminada )
 MybatisMpConfig.setLogicDeleteSwitch(true); 
5 Eliminación lógica - intento de cambio local
 (LogicDeleteSwitch ignorado = LogicDeleteSwitch.with(false)) {
     logicDeleteTestMapper.getById(1);
 } El código anterior debe intentarse (LogicDeleteSwitch ignorado = LogicDeleteSwitch.with(false)) o
 lo siguiente Aún más simple:
 LogicDeleteTest logicDeleteTest = LogicDeleteUtil.execute(false, () -> {
     return logicDeleteTestMapper.getById(1);
 });


















Supongo que te gusta

Origin www.oschina.net/news/273926
Recomendado
Clasificación