springboot集成mybatis Plus实现逻辑删除功能

注意:mybatis plus实现逻辑删除以后,如果想要查询出已经删除的数据的话,必须要在mapper.xml中自己手写查询已删除的数据sql

1: 数据库表中增加deleted字段,(这块可以给deleted字段默认值是0,也可以用@TableField(fill=FieldFill.INSERT) 自动填充实现新增默认为0,两者选其一)

2:在实体类中给deleted 属性加上 @TableLogic 注解

3:在配置中加入逻辑删除插件

/**
 * 虚拟删除插件
 * @return
 */
@Bean
public ISqlInjector sqlInjector() {
    return new LogicSqlInjector();
}

4:在application.properties中加入如下, (注:此段可加可不加,因为默认就是这样的)

#默认已删除的value值1
mybatis-plus.global-config.db-config.logic-delete-value=1
#默认未删除的value值0
mybatis-plus.global-config.db-config.logic-not-delete-value=0

5:测试删除一条数据以后,表中的deleted的字段变为1了,并且后续用的mybatis plus的查询的功能是不会查询到已删除的数据,

如果想查询已删除的数据,那么只能在mapper.xml中手写查询sql了,这也算mybatis Plus实现虚拟删除后的一个缺点吧

猜你喜欢

转载自blog.csdn.net/qq_39564710/article/details/113118036