在使用 MyBatis-Plus 时,若想要查询已经逻辑删除的数据,可以通过以下几种方法实现。这里假设你已经理解了 MyBatis-Plus 的逻辑删除功能,并且项目中已经启用了 MyBatis-Plus 的逻辑删除插件。 方法一:使用 LambdaQueryWrapper 的 last 方法 你可以通过 LambdaQueryWrapper 的last 方法来拼接自定义的 SQL 条件,从而忽略...
1.1、在application.yml配置文件中: 1.2、直接在实体类中指定逻辑删除的值 二、测试 2.1 逻辑删除 2.2 查询逻辑删除的数据 一、配置 1.1、在application.yml配置文件中: # mybatis-plus配置控制台打印sql语句: mybatis-plus: configurat...
简介: Mybatis-plus使用@TableLogic注解进行逻辑删除数据后,在某些场景下,又需要查询该数据时,又不想写SQL。自定义Mybatis-plus的SQL注入器一劳永逸的解决该问题 方案1,继承 AbstractMethod拼接SQL语句 publicclassSelectIgnoreLogicDeleteByMapextendsAbstractMethod { @OverridepublicMappedStatementinjectMappedStatement(Class<...
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的结果。 /** * 删除操作 * */ ...
实现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 # 逻辑已删除值(默认...
MyBatis-Plus Spring Boot 大约784 字 需求 MyBatis-Plus全局配置了逻辑删除,所有SQL都会自动带上逻辑删除的where,现在有一张表需要查询出所有数据(包括逻辑删除的数据)。 说明 MyBatis-Plus官方文档中有一段附录,表示其不提供配置去单独去掉这个限制。 附录:逻辑删除是为了方便数据恢复和保护数据本身价值等等的一...
实现MybatisPlus的逻辑删除查询,可利用拦截器接口,对SQL进行动态替换。在拦截到的SQL中,如果包含"QUERYDELETEDATA"关键词,需将逻辑删除条件(is_delete = 0)和该关键词替换为合适的内容。具体实现步骤如下:首先,创建自定义拦截器类,继承自MybatisPlus的全局拦截器接口,重写其方法以实现动态SQL替换。...
在执行删除操作时,mybatis-plus会自动将删除的数据标记为已删除,即将deleted字段的值设置为1。同时,在查询数据时,可以使用mybatis-plus提供的包装器来查询已删除的数据。例如,使用Wrapper的eq()方法查询deleted字段的值为1的数据,如下所示: Wrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("deleted",...
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) ...