我们平常所实现的删除(delete)其实就是物理删除
(数据真的会消失)
而逻辑删除并不是物理删除,而是概念删除
,它还是存在于数据库中的!
逻辑删除 说到底 就是 update
(更新操作)
所谓的逻辑删除就是在传统的数据上新增一个字段并让他默认为一个值,此时的逻辑删除SQL就会变为update语句,将标注@TableLogic的字段改为另一个值,即实现了逻辑删除
1.引入MybatisPlus (记得添加@MapperScan)
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency>2.配置application.yml
mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml global-config: db-config: id-type: auto logic-delete-value: 1 logic-not-delete-value: 0即添加 logic-delete-value: 1 和 logic-not-delete-value: 0
3.在实体类中添加@TableLogic注解
@TableLogic(value = "1",delval = "0") private Integer showStatus; // 逻辑删除后值为1 3.1.0后省略了配置逻辑删除的组件
查询,和修改只能找到逻辑未删除的数据,相当于帮助我们自动过滤了,查询会自动加上where showStatus=0