Spring Boot MyBatis-Plus 查询逻辑删除的数据
MyBatis-Plus Spring Boot About 784 words需求
MyBatis-Plus
全局配置了逻辑删除,所有SQL
都会自动带上逻辑删除的where
,现在有一张表需要查询出所有数据(包括逻辑删除的数据)。
说明
MyBatis-Plus
官方文档中有一段附录,表示其不提供配置去单独去掉这个限制。
附录:
逻辑删除是为了方便数据恢复和保护数据本身价值等等的一种方案,但实际就是删除。
如果你需要频繁查出来看就不应使用逻辑删除,而是以一个状态去表示。
解决方法
将实体类中的逻辑删除字段区别于全局配置中的字段名,再使用@TableField
映射到数据库中的字段。
缺点:这张表其他使用到MyBatis-Plus
自动过滤逻辑删除数据的地方,需要手动加上where
条件,MyBatis-Plus
不会再自动加上where
条件。
相关代码
全局配置
mybatis-plus:
global-config:
db-config:
logic-delete-field: isDel # 全局逻辑删除的实体字段名
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
实体类
@TableName(value = "my_user", autoResultMap = true)
public class MyUser {
@TableId(type = IdType.ASSIGN_ID)
private String id;
private String name;
@TableField(value = "is_del")
private String deleted;
}
备注
写xml
或者@Select
也同样可以解决。
Views: 1,793 · Posted: 2024-05-22
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...