LambdaQueryWrapper 是MyBatis-Plus 提供的一个链式调用构造器,通过它可以方便地构建查询条件。如果你想要查询已经逻辑删除的数据,可以使用 last 方法来拼接自定义的 SQL 条件,从而忽略 MyBatis-Plus 默认的逻辑删除过滤。 java import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomi...
1.1、在application.yml配置文件中: 1.2、直接在实体类中指定逻辑删除的值 二、测试 2.1 逻辑删除 2.2 查询逻辑删除的数据 一、配置 1.1、在application.yml配置文件中: # mybatis-plus配置控制台打印sql语句: mybatis-plus: configurat...
首先,创建自定义拦截器类,继承自MybatisPlus的全局拦截器接口,重写其方法以实现动态SQL替换。在拦截器中,监听到SQL时,搜索其中是否包含"QUERYDELETEDATA"。若有此关键词,需对查询条件进行调整,将逻辑删除状态(is_delete = 0)转换为正常查询条件。同时,将"QUERYDELETEDATA"替换为对应的正常查询关键字...
mybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认...
如果你希望在使用@Select注解的情况下查询包括逻辑删除的数据,你可以直接在 SQL 查询中编写相应的逻辑。@Select注解允许你自定义查询语句,因此你可以控制是否包含逻辑删除的数据。 示例代码: 假设你的表中有一个del_flag字段,用于表示逻辑删除状态(0表示未删除,1表示已删除)。你可以通过@Select注解来查询包括逻辑删除...
MyBatis-Plus全局配置了逻辑删除,所有SQL都会自动带上逻辑删除的where,现在有一张表需要查询出所有数据(包括逻辑删除的数据)。 说明 MyBatis-Plus官方文档中有一段附录,表示其不提供配置去单独去掉这个限制。 附录:逻辑删除是为了方便数据恢复和保护数据本身价值等等的一种方案,但实际就是删除。如果你需要频繁查出来看...
实现Interceptor 接口,获取到拦截到的sql, sql中包含QUERYDELETEDATA内容就把逻辑删除查询的条件(is_delete = 0)给替换掉,同时QUERYDELETEDATA内容也替换掉。 使用方法: QueryWrapper<Object> wrapper = new QueryWrapper<>(); wrapper.apply(MyInterceptor.QUERYDELETEDATA); ...
mybatis-plus.global-config.db-config.logic-delete-value=1 #未删除标记为0 mybatis-plus.global-config.db-config.logic-not-delete-value=0 四、测试 编写测试类,在测试类下编写testDeleteById方法,删除id为12的用户信息。删除成功后查询表中的数据查看是否能查询到id为12的结果。
1、步骤 1: 配置逻辑删除的信息 全局配置 mybatis-plus:global-config:db-config:logic-delete-field:flag# 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)logic-delete-value:1# 逻辑已删除值(默认为 1)logic-not-delete-value:0# 逻辑未删除值(默认为 0) ...