24282 1 жил өмнө
parent
commit
73042c8755

+ 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 IFormat {
+public abstract class AbstractQueryColumn implements IQueryColumn {
 
     /**
      * 计算列表

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

@@ -9,7 +9,7 @@ import org.example.join.sql.SqlContext;
 import java.util.ArrayList;
 import java.util.List;
 
-public class QueryColumn extends AbstractQueryColumn implements IQueryColumn {
+public class QueryColumn extends AbstractQueryColumn {
 
     /**
      * 拼接值
@@ -47,6 +47,10 @@ public class QueryColumn extends AbstractQueryColumn implements IQueryColumn {
     public String toSql() {
         if (value instanceof String str) {
             Object[] array = params.stream().map(item -> {
+                if (item instanceof IFormat iFormat) {
+                    return iFormat.toSql();
+                }
+
                 String paramKey = SqlContext.getParamKey();
                 SqlContext.getParamMap().put(paramKey, item);
                 return StringPool.HASH_LEFT_BRACE + paramKey + StringPool.RIGHT_BRACE;

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

@@ -6,7 +6,7 @@ import lombok.RequiredArgsConstructor;
 
 @Getter
 @RequiredArgsConstructor
-public class QueryColumnField extends AbstractQueryColumn implements IQueryColumn {
+public class QueryColumnField extends AbstractQueryColumn {
 
     /**
      * 表别名

+ 4 - 5
my-test/src/test/java/MySpringBootTest.java

@@ -49,11 +49,11 @@ public class MySpringBootTest implements DefaultFunction {
                 //.logic()
                 //.distinct()
                 .select(
-                        dept_id.as("aaa"),
-                        childTable.field(tenant_id).as("bbb"),
+                        dept_id.as(TestEntity::getAaa),
+                        childTable.field(tenant_id).as(TestEntity::getBbb),
                         childTable.field("status").as("ccc"),
-                        Sql.create().select(groupConcat(new QueryColumn("dept_id order by dept_id asc")).as("deptGroup")).from(sys_dept).as("ddd"),
-                        new QueryColumn("{0}", "ancestors").as("eee")
+                        Sql.create().select(groupConcat(new QueryColumn("{0} order by {0} asc", dept_id, "dept_id"))).from(sys_dept).as("ddd"),
+                        concat("ssss", 333).as("eee")
                 )
                 .from(childTable)
                 .leftJoin(sys_user).on(childTable.field(dept_id).eq(user_id))
@@ -65,7 +65,6 @@ public class MySpringBootTest implements DefaultFunction {
                 .list(TestEntity.class);
 
         System.out.println(JSONObject.toJSONString(list));
-
     }
 
     @Data