24282 1 年間 前
コミット
15825824ba

+ 3 - 3
my-test/src/main/java/org/example/join/domain/FunctionQueryColumn.java → my-test/src/main/java/org/example/join/domain/QueryColumnFunction.java

@@ -11,18 +11,18 @@ import org.example.join.util.SqlUtil;
 import java.util.*;
 import java.util.stream.Collectors;
 
-public class FunctionQueryColumn implements IFormat, IQueryColumn {
+public class QueryColumnFunction implements IFormat, IQueryColumn {
 
     private final String fnName;
 
     private final List<IQueryColumn> columns;
 
-    public FunctionQueryColumn(String fnName) {
+    public QueryColumnFunction(String fnName) {
         this.fnName = fnName;
         this.columns = new ArrayList<>();
     }
 
-    public FunctionQueryColumn(String fnName, IQueryColumn... columns) {
+    public QueryColumnFunction(String fnName, IQueryColumn... columns) {
         this(fnName);
         this.columns.addAll(Arrays.asList(columns));
     }

+ 44 - 45
my-test/src/main/java/org/example/join/domain/QueryMethods.java

@@ -11,162 +11,161 @@ public class QueryMethods {
     /**
      * 绝对值
      */
-    public static FunctionQueryColumn abs(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.ABS, queryColumn);
+    public static QueryColumnFunction abs(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.ABS, queryColumn);
     }
 
     /**
      * 平均值
      */
-    public static FunctionQueryColumn avg(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.AVG, queryColumn);
+    public static QueryColumnFunction avg(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.AVG, queryColumn);
     }
 
     /**
      * 数量
      */
-    public static FunctionQueryColumn count(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.COUNT, queryColumn);
+    public static QueryColumnFunction count(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.COUNT, queryColumn);
     }
 
     /**
      * 将字符串 s1,s2 等多个字符串合并为一个字符串。
      */
-    public static FunctionQueryColumn concat(String queryColumnS1, String queryColumnS2, String... columnN) {
+    public static QueryColumnFunction concat(String queryColumnS1, String queryColumnS2, String... columnN) {
         RawQueryColumn[] rawQueryColumns = new RawQueryColumn[columnN.length];
         for (int i = 0; i < columnN.length; i++) {
             rawQueryColumns[i] = string(columnN[i]);
         }
-        return new FunctionQueryColumn(SqlConstant.CONCAT, ArrayUtil.addAll(new RawQueryColumn[]{string(queryColumnS1), string(queryColumnS2)}, rawQueryColumns));
+        return new QueryColumnFunction(SqlConstant.CONCAT, ArrayUtil.addAll(new RawQueryColumn[]{string(queryColumnS1), string(queryColumnS2)}, rawQueryColumns));
     }
 
     /**
      * 将字符串 s1,s2 等多个字符串合并为一个字符串。
      */
-    public static FunctionQueryColumn concat(IQueryColumn queryColumnS1, IQueryColumn queryColumnS2, IQueryColumn... columnN) {
-        return new FunctionQueryColumn(SqlConstant.CONCAT, ArrayUtil.addAll(new IQueryColumn[]{queryColumnS1, queryColumnS2}, columnN));
+    public static QueryColumnFunction concat(IQueryColumn queryColumnS1, IQueryColumn queryColumnS2, IQueryColumn... columnN) {
+        return new QueryColumnFunction(SqlConstant.CONCAT, ArrayUtil.addAll(new IQueryColumn[]{queryColumnS1, queryColumnS2}, columnN));
     }
 
     /**
      * 计算两个时间相差天数
      */
-    public static FunctionQueryColumn dateDiff(IQueryColumn queryColumn1, IQueryColumn queryColumn2) {
-        return new FunctionQueryColumn(SqlConstant.DATEDIFF, queryColumn1, queryColumn2);
+    public static QueryColumnFunction dateDiff(IQueryColumn queryColumn1, IQueryColumn queryColumn2) {
+        return new QueryColumnFunction(SqlConstant.DATEDIFF, queryColumn1, queryColumn2);
     }
 
     /**
      * 计算两个时间相差天数
      */
-    public static FunctionQueryColumn dateDiff(IQueryColumn queryColumn1, String queryColumn2) {
-        return new FunctionQueryColumn(SqlConstant.DATEDIFF, queryColumn1, string(queryColumn2));
+    public static QueryColumnFunction dateDiff(IQueryColumn queryColumn1, String queryColumn2) {
+        return new QueryColumnFunction(SqlConstant.DATEDIFF, queryColumn1, string(queryColumn2));
     }
 
     /**
      * 日期格式
      */
-    public static FunctionQueryColumn dateFormat(IQueryColumn queryColumn, String format) {
-        return new FunctionQueryColumn(SqlConstant.DATE_FORMAT, queryColumn, string(format));
+    public static QueryColumnFunction dateFormat(IQueryColumn queryColumn, String format) {
+        return new QueryColumnFunction(SqlConstant.DATE_FORMAT, queryColumn, string(format));
     }
 
     /**
      * 日期格式
      */
-    public static FunctionQueryColumn dateFormat(String queryColumn, String format) {
-        return new FunctionQueryColumn(SqlConstant.DATE_FORMAT, string(queryColumn), string(format));
+    public static QueryColumnFunction dateFormat(String queryColumn, String format) {
+        return new QueryColumnFunction(SqlConstant.DATE_FORMAT, string(queryColumn), string(format));
     }
 
     /**
      * 判断值是否为null
      */
-    public static FunctionQueryColumn ifNull(IQueryColumn nullColumn, IQueryColumn elseColumn) {
-        return new FunctionQueryColumn(SqlConstant.IFNULL, nullColumn, elseColumn);
+    public static QueryColumnFunction ifNull(IQueryColumn nullColumn, IQueryColumn elseColumn) {
+        return new QueryColumnFunction(SqlConstant.IFNULL, nullColumn, elseColumn);
     }
 
     /**
      * 判断值是否为null
      */
-    public static FunctionQueryColumn ifNull(String nullColumn, String elseColumn) {
-        return new FunctionQueryColumn(SqlConstant.IFNULL, new RawQueryColumn(nullColumn), new RawQueryColumn(elseColumn));
+    public static QueryColumnFunction ifNull(String nullColumn, String elseColumn) {
+        return new QueryColumnFunction(SqlConstant.IFNULL, new RawQueryColumn(nullColumn), new RawQueryColumn(elseColumn));
     }
 
     /**
      * 最大值
      */
-    public static FunctionQueryColumn max(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.MAX, queryColumn);
+    public static QueryColumnFunction max(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.MAX, queryColumn);
     }
 
     /**
      * 最小值
      */
-    public static FunctionQueryColumn min(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.MIN, queryColumn);
+    public static QueryColumnFunction min(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.MIN, queryColumn);
     }
 
     /**
      * 当前系统时间
      */
-    public static FunctionQueryColumn now() {
-        return new FunctionQueryColumn(SqlConstant.NOW);
+    public static QueryColumnFunction now() {
+        return new QueryColumnFunction(SqlConstant.NOW);
     }
 
     /**
      * 替换字符串
      */
-    public static FunctionQueryColumn replace(IQueryColumn queryColumn, String fromColumn, String toColumn) {
-        return new FunctionQueryColumn(SqlConstant.REPLACE, queryColumn, string(fromColumn), string(toColumn));
+    public static QueryColumnFunction replace(IQueryColumn queryColumn, String fromColumn, String toColumn) {
+        return new QueryColumnFunction(SqlConstant.REPLACE, queryColumn, string(fromColumn), string(toColumn));
     }
 
     /**
      * 四舍五入
      */
-    public static FunctionQueryColumn round(IQueryColumn queryColumn, Number number) {
-        return new FunctionQueryColumn(SqlConstant.ROUND, queryColumn, number(number));
+    public static QueryColumnFunction round(IQueryColumn queryColumn, Number number) {
+        return new QueryColumnFunction(SqlConstant.ROUND, queryColumn, number(number));
     }
 
     /**
      * 截取字符串
      */
-    public static FunctionQueryColumn substr(IQueryColumn queryColumn, int position) {
-        return new FunctionQueryColumn(SqlConstant.SUBSTR, queryColumn, number(position));
+    public static QueryColumnFunction substr(IQueryColumn queryColumn, int position) {
+        return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, number(position));
     }
 
     /**
      * 截取字符串
      */
-    public static FunctionQueryColumn substr(IQueryColumn queryColumn, int position, int length) {
-        return new FunctionQueryColumn(SqlConstant.SUBSTR, queryColumn, number(position), number(length));
+    public static QueryColumnFunction substr(IQueryColumn queryColumn, int position, int length) {
+        return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, number(position), number(length));
     }
 
     /**
      * 获取年
      */
-    public static FunctionQueryColumn year(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.YEAR, queryColumn);
+    public static QueryColumnFunction year(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.YEAR, queryColumn);
     }
 
     /**
      * 获取月
      */
-    public static FunctionQueryColumn month(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.MONTH, queryColumn);
+    public static QueryColumnFunction month(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.MONTH, queryColumn);
     }
 
     /**
      * 获取日
      */
-    public static FunctionQueryColumn day(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.DAY, queryColumn);
+    public static QueryColumnFunction day(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.DAY, queryColumn);
     }
 
     /**
      * 获取小时
      */
-    public static FunctionQueryColumn hour(IQueryColumn queryColumn) {
-        return new FunctionQueryColumn(SqlConstant.HOUR, queryColumn);
+    public static QueryColumnFunction hour(IQueryColumn queryColumn) {
+        return new QueryColumnFunction(SqlConstant.HOUR, queryColumn);
     }
 
-
     /**
      * 构建数字常量。
      */

+ 1 - 0
my-test/src/main/java/org/example/join/util/SqlUtil.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
+import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import org.example.join.domain.Table;
 
 import java.util.Map;