24282 1 year ago
parent
commit
ab6ea191b6

+ 1 - 1
my-test/src/main/java/org/example/join/model/AbstractQueryColumn.java

@@ -15,7 +15,7 @@ import java.util.Collection;
 import java.util.List;
 import java.util.StringJoiner;
 
-public abstract class AbstractQueryColumn implements ISelect {
+public abstract class AbstractQueryColumn implements IQueryColumn {
 
     /**
      * 计算列表

+ 5 - 0
my-test/src/main/java/org/example/join/model/IQueryColumn.java

@@ -0,0 +1,5 @@
+package org.example.join.model;
+
+public interface IQueryColumn extends IFormat {
+
+}

+ 0 - 5
my-test/src/main/java/org/example/join/model/ISelect.java

@@ -1,5 +0,0 @@
-package org.example.join.model;
-
-public interface ISelect extends IFormat {
-
-}

+ 2 - 2
my-test/src/main/java/org/example/join/model/ITable.java

@@ -5,11 +5,11 @@ public interface ITable extends IFormat {
     String getAlias();
 
     default QueryColumn field(String fieldName) {
-        return new QueryColumn(this, fieldName);
+        return new QueryColumn(getAlias(), fieldName);
     }
 
     default QueryColumn field(QueryColumn queryColumn) {
-        return new QueryColumn(this, queryColumn.getName());
+        return new QueryColumn(getAlias(), queryColumn.getName());
     }
 
 }

+ 4 - 4
my-test/src/main/java/org/example/join/model/QueryColumn.java

@@ -9,9 +9,9 @@ import lombok.RequiredArgsConstructor;
 public class QueryColumn extends AbstractQueryColumn {
 
     /**
-     * 表
+     * 表别名
      */
-    private final ITable table;
+    private final String tableAlias;
 
     /**
      * 字段名
@@ -20,12 +20,12 @@ public class QueryColumn extends AbstractQueryColumn {
 
     @Override
     protected QueryColumn copy() {
-        return new QueryColumn(this.table, this.name);
+        return new QueryColumn(this.tableAlias, this.name);
     }
 
     @Override
     public String toSql() {
-        String sql = table.getAlias() + StringPool.DOT + name;
+        String sql = tableAlias + StringPool.DOT + name;
         return spliceCompute(sql);
     }
 

+ 2 - 2
my-test/src/main/java/org/example/join/model/QueryColumnAlias.java

@@ -4,12 +4,12 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import lombok.RequiredArgsConstructor;
 
 @RequiredArgsConstructor
-public class QueryColumnAlias implements ISelect {
+public class QueryColumnAlias implements IQueryColumn {
 
     /**
      * 查询列
      */
-    private final ISelect queryColumn;
+    private final IQueryColumn queryColumn;
 
     /**
      * 字段别名

+ 1 - 1
my-test/src/main/java/org/example/join/model/QueryCondition.java

@@ -15,7 +15,7 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public class QueryCondition implements IFormat {
 
-    private final ISelect column;
+    private final IQueryColumn column;
     private final String logic;
     private final Object value;
     private final List<QueryConditionConnect> queryConditionConnectList = new ArrayList<>();

+ 1 - 1
my-test/src/main/java/org/example/join/model/QueryConditionOrder.java

@@ -8,7 +8,7 @@ public class QueryConditionOrder implements IFormat {
     /**
      * 查询列
      */
-    private final ISelect queryColumn;
+    private final IQueryColumn queryColumn;
 
     /**
      * 排序方式 ( asc desc )

+ 6 - 6
my-test/src/main/java/org/example/join/model/QueryMethod.java

@@ -66,14 +66,14 @@ public class QueryMethod {
     /**
      * 最大值
      */
-    public static QueryColumnFunction max(ISelect queryColumn) {
+    public static QueryColumnFunction max(IQueryColumn queryColumn) {
         return new QueryColumnFunction(SqlConstant.MAX, queryColumn);
     }
 
     /**
      * 最小值
      */
-    public static QueryColumnFunction min(ISelect queryColumn) {
+    public static QueryColumnFunction min(IQueryColumn queryColumn) {
         return new QueryColumnFunction(SqlConstant.MIN, queryColumn);
     }
 
@@ -87,28 +87,28 @@ public class QueryMethod {
     /**
      * 替换字符串
      */
-    public static QueryColumnFunction replace(ISelect queryColumn, Object obj1, Object obj2) {
+    public static QueryColumnFunction replace(IQueryColumn queryColumn, Object obj1, Object obj2) {
         return new QueryColumnFunction(SqlConstant.REPLACE, queryColumn, obj1, obj2);
     }
 
     /**
      * 四舍五入
      */
-    public static QueryColumnFunction round(ISelect queryColumn, Number number) {
+    public static QueryColumnFunction round(IQueryColumn queryColumn, Number number) {
         return new QueryColumnFunction(SqlConstant.ROUND, queryColumn, number);
     }
 
     /**
      * 截取字符串
      */
-    public static QueryColumnFunction substr(ISelect queryColumn, int position) {
+    public static QueryColumnFunction substr(IQueryColumn queryColumn, int position) {
         return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position);
     }
 
     /**
      * 截取字符串
      */
-    public static QueryColumnFunction substr(ISelect queryColumn, int position, int length) {
+    public static QueryColumnFunction substr(IQueryColumn queryColumn, int position, int length) {
         return new QueryColumnFunction(SqlConstant.SUBSTR, queryColumn, position, length);
     }
 

+ 2 - 2
my-test/src/main/java/org/example/join/sql/Select.java

@@ -3,7 +3,7 @@ package org.example.join.sql;
 import cn.hutool.core.collection.ListUtil;
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
-import org.example.join.model.ISelect;
+import org.example.join.model.IQueryColumn;
 import org.example.join.model.ITable;
 
 @RequiredArgsConstructor(access = AccessLevel.PROTECTED)
@@ -35,7 +35,7 @@ public class Select {
         return this;
     }
 
-    public Select select(ISelect... columns) {
+    public Select select(IQueryColumn... columns) {
         sql.queryFieldsList.addAll(ListUtil.toList(columns));
         return this;
     }

+ 4 - 4
my-test/src/main/java/org/example/join/sql/Sql.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
 import org.example.join.model.IFormat;
-import org.example.join.model.ISelect;
+import org.example.join.model.IQueryColumn;
 import org.example.join.model.ITable;
 import org.example.join.model.QueryColumn;
 import org.example.join.model.QueryCondition;
@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor(access = AccessLevel.PROTECTED)
 public class Sql implements IFormat {
 
-    protected final List<ISelect> queryFieldsList = new ArrayList<>();
+    protected final List<IQueryColumn> queryFieldsList = new ArrayList<>();
     protected final List<ITable> queryTableList = new ArrayList<>();
     protected final List<QueryCondition> queryConditionList = new ArrayList<>();
     protected final List<QueryColumn> groupByList = new ArrayList<>();
@@ -87,13 +87,13 @@ public class Sql implements IFormat {
             if (iTable instanceof Table table) {
                 String tableDelFlag = SqlContext.getTableDelFlag(table);
                 if (ObjectUtil.isNotEmpty(tableDelFlag)) {
-                    QueryColumn queryColumn = new QueryColumn(table, tableDelFlag);
+                    QueryColumn queryColumn = new QueryColumn(table.getAlias(), tableDelFlag);
                     sql.queryConditionList.add(0, new QueryCondition(queryColumn, SqlConstant.EQ, sql.logic ? 1 : 0));
                 }
             } else if (iTable instanceof TableJoin tableJoin && tableJoin.getTable() instanceof Table table) {
                 String tableDelFlag = SqlContext.getTableDelFlag(table);
                 if (ObjectUtil.isNotEmpty(tableDelFlag)) {
-                    QueryColumn queryColumn = new QueryColumn(table, tableDelFlag);
+                    QueryColumn queryColumn = new QueryColumn(table.getAlias(), tableDelFlag);
                     tableJoin.getQueryConditionList().add(new QueryCondition(queryColumn, SqlConstant.EQ, sql.logic ? 1 : 0));
                 }
             }