组件中提供了@TableLogic注解,用于简化需要逻辑删除的字段操作。
在使用 @TableLogic 注解时,你需要在你的实体类中选择一个字段作为逻辑删除字段,然后在该字段上添加 @TableLogic 注解。
通常,这个字段是一个布尔类型或者整型,用来表示数据是否被删除。
比如:
public class User {
private Long id;
private String name;
private String email;
@TableLogic
private Integer deleted;
}
当 deleted 的值为 1 时,表示该数据已被删除;当 deleted 的值为 0 时,表示该数据未被删除。
在执行删除操作时,MyBatis Plus 会自动将 deleted 字段的值设置为 1,而不是真正地从数据库中删除该数据。同时,当你执行查询操作时,MyBatis Plus 会自动忽略那些 deleted 字段值为 1 的数据,就像它们已经从数据库中被删除一样。
为了使 @TableLogic 注解生效,你还需要在你的 MyBatis Plus 配置文件中启用逻辑删除功能。
大致配置如下:
@Configuration
public class MybatisPlusConfig {
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
@Bean
public ConfigurationCustomizer configurationCustomizer() {
return configuration -> configuration.setUseDeprecatedExecutor(false);
}
}