From ae07922de0515e400761ada3084abf172e211f19 Mon Sep 17 00:00:00 2001 From: wuKong Date: Mon, 17 Aug 2026 16:40:38 +0800 Subject: [PATCH] =?UTF-8?q?feat(mybatis):=20=E6=89=A9=E5=B1=95LambdaQueryW?= =?UTF-8?q?rapperX=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加Consumer函数式接口支持复杂条件构建 - 实现exists和notExists子查询方法 - 实现and、or、nested、not条件组合方法 - 所有新增方法均支持链式调用返回自身实例 - 统一方法签名确保与父类QueryWrapper兼容性 --- .../core/query/LambdaQueryWrapperX.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java index b5cbcd35f..6fc5e756f 100644 --- a/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java +++ b/yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/core/query/LambdaQueryWrapperX.java @@ -9,6 +9,7 @@ import org.springframework.util.StringUtils; import java.time.LocalDateTime; import java.util.Collection; +import java.util.function.Consumer; /** * 拓展 MyBatis Plus QueryWrapper 类,主要增加如下功能: @@ -158,4 +159,40 @@ public class LambdaQueryWrapperX extends LambdaQueryWrapper { return this; } + @Override + public LambdaQueryWrapperX exists(boolean condition, String existsSql, Object... values) { + super.exists(condition, existsSql, values); + return this; + } + + @Override + public LambdaQueryWrapperX notExists(boolean condition, String existsSql, Object... values) { + super.notExists(condition, existsSql, values); + return this; + } + + @Override + public LambdaQueryWrapperX and(boolean condition, Consumer> consumer) { + super.and(condition,consumer); + return this; + } + + @Override + public LambdaQueryWrapperX or(boolean condition, Consumer> consumer) { + super.or(condition, consumer); + return this; + } + + @Override + public LambdaQueryWrapperX nested(boolean condition, Consumer> consumer) { + super.nested(condition, consumer); + return this; + } + + @Override + public LambdaQueryWrapperX not(boolean condition, Consumer> consumer) { + super.not(condition, consumer); + return this; + } + }