注意: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实现虚拟删除后的一个缺点吧