From 9ef8d9994ec530419e2c248ba2e4c10724ea6cb4 Mon Sep 17 00:00:00 2001 From: Suomm <1474983351@qq.com> Date: Sat, 8 Jul 2023 08:38:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E9=87=8D=E8=BD=BD=E6=96=B9=E6=B3=95=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mybatisflex/core/query/QueryMethods.java | 36 ++++++++++++++++--- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java index 17a2ca64..fe2c2b55 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryMethods.java @@ -2448,15 +2448,43 @@ public class QueryMethods { /** * IF 函数。 */ - public static QueryColumn if_(QueryCondition condition, QueryColumn trueValue, QueryColumn falseValue) { - return new IfFunctionQueryColumn(condition, trueValue, falseValue); + public static QueryColumn if_(QueryCondition condition, String trueColumn, String falseColumn) { + return new IfFunctionQueryColumn(condition, new QueryColumn(trueColumn), new QueryColumn(falseColumn)); + } + + /** + * IF 函数。 + */ + public static QueryColumn if_(QueryCondition condition, QueryColumn trueColumn, QueryColumn falseColumn) { + return new IfFunctionQueryColumn(condition, trueColumn, falseColumn); + } + + /** + * IF 函数。 + */ + public static QueryColumn if_(QueryCondition condition, LambdaGetter trueColumn, LambdaGetter falseColumn) { + return new IfFunctionQueryColumn(condition, LambdaUtil.getQueryColumn(trueColumn), LambdaUtil.getQueryColumn(falseColumn)); } /** * IFNULL 函数。 */ - public static QueryColumn ifNull(QueryColumn nullValue, QueryColumn elseValue) { - return new FunctionQueryColumn("IFNULL", nullValue, elseValue); + public static QueryColumn ifNull(String nullColumn, String elseColumn) { + return new FunctionQueryColumn("IFNULL", new QueryColumn(nullColumn), new QueryColumn(elseColumn)); + } + + /** + * IFNULL 函数。 + */ + public static QueryColumn ifNull(QueryColumn nullColumn, QueryColumn elseColumn) { + return new FunctionQueryColumn("IFNULL", nullColumn, elseColumn); + } + + /** + * IFNULL 函数。 + */ + public static QueryColumn ifNull(LambdaGetter nullColumn, LambdaGetter elseColumn) { + return new FunctionQueryColumn("IFNULL", LambdaUtil.getQueryColumn(nullColumn), LambdaUtil.getQueryColumn(elseColumn)); } // === 构建 QueryCondition 查询条件 ===