mybatis plus 设置逻辑删除配置后,再次查询时怎么可以查询已删除和未删除的数据呢
时间: 2024-03-05 17:48:02 浏览: 226
mybatis-plus 增删改查
在MyBatis Plus中,当使用逻辑删除配置后,默认情况下被标记为删除的数据是不会被查询出来的。如果需要查询已删除和未删除的数据,可以通过关闭逻辑删除的功能来实现。
关闭逻辑删除的功能需要在实体类中加上`@TableLogic`注解,并将`value`属性设置为`"0"`,表示逻辑未删除状态的值。例如:
```java
import com.baomidou.mybatisplus.annotation.TableLogic;
public class Entity {
private Long id;
private String name;
@TableLogic(value = "0")
private Integer deleted; // 逻辑删除字段
// getter和setter方法省略
}
```
这样,已经开启了逻辑删除功能的MyBatis Plus会自动忽略标记为删除的数据,而关闭逻辑删除功能后,就可以查询所有未被物理删除的数据(包括标记为删除的数据)了。
查询方式与未开启逻辑删除功能时一样,例如:
```java
// 导入QueryWrapper类
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 创建QueryWrapper对象
QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
// 执行查询
List<Entity> entities = entityMapper.selectList(queryWrapper);
```
这样会查询出所有未被物理删除的数据(包括标记为删除的数据)。需要注意的是,如果数据量较大,可能会对系统性能造成影响,因此建议根据实际情况酌情使用。
阅读全文