在MyBatis-Plus中,查询逻辑删除后的数据可以通过多种方法实现。以下是一些常见的方法: 1. 使用LambdaQueryWrapper的last方法 这种方法比较直接,通过在查询条件的最后添加原生SQL条件来忽略逻辑删除。例如,如果你的逻辑删除字段是is_deleted,值为1表示已删除,你可以这样写: java LambdaQueryWrapper<YourEntity> que...
1.1、在application.yml配置文件中: 1.2、直接在实体类中指定逻辑删除的值 二、测试 2.1 逻辑删除 2.2 查询逻辑删除的数据 一、配置 1.1、在application.yml配置文件中: # mybatis-plus配置控制台打印sql语句: mybatis-plus: configurat...
mybatis-plus: global-config: db-config: logic-delete-value: 1 # 逻辑已删除值(默认...
简介: Mybatis-plus使用@TableLogic注解进行逻辑删除数据后,在某些场景下,又需要查询该数据时,又不想写SQL。自定义Mybatis-plus的SQL注入器一劳永逸的解决该问题 方案1,继承 AbstractMethod拼接SQL语句 publicclassSelectIgnoreLogicDeleteByMapextendsAbstractMethod { @OverridepublicMappedStatementinjectMappedStatement(Class<...
mybatis-plus: global-config: db-config: logic-delete-field: deleted logic-not-delete-value: 0 logic-delete-value: 1 逻辑删除开启后,执行的删除语句变成了更新语句,操作完以后会用deleted字段值标记数据是否被删除,并且标记被删除的数据,是不参与到Mabatis-Plus的API查询的过程中的,如果想查这些数据通过自己...
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的结果。
如果你希望在使用@Select注解的情况下查询包括逻辑删除的数据,你可以直接在 SQL 查询中编写相应的逻辑。@Select注解允许你自定义查询语句,因此你可以控制是否包含逻辑删除的数据。 示例代码: 假设你的表中有一个del_flag字段,用于表示逻辑删除状态(0表示未删除,1表示已删除)。你可以通过@Select注解来查询包括逻辑删除...
实现MybatisPlus的逻辑删除查询,可利用拦截器接口,对SQL进行动态替换。在拦截到的SQL中,如果包含"QUERYDELETEDATA"关键词,需将逻辑删除条件(is_delete = 0)和该关键词替换为合适的内容。具体实现步骤如下:首先,创建自定义拦截器类,继承自MybatisPlus的全局拦截器接口,重写其方法以实现动态SQL替换。...
实现Interceptor 接口,获取到拦截到的sql, sql中包含QUERYDELETEDATA内容就把逻辑删除查询的条件(is_delete = 0)给替换掉,同时QUERYDELETEDATA内容也替换掉。 使用方法: QueryWrapper<Object> wrapper = new QueryWrapper<>(); wrapper.apply(MyInterceptor.QUERYDELETEDATA); ...