Browse Source

mp工具类

24282 1 year ago
parent
commit
afaf56bc76

+ 13 - 13
sd-framework/src/main/java/com/sd/framework/util/sql/Select.java

@@ -18,24 +18,24 @@ public class Select<T> {
     private final Sql<T> sql;
 
     public <S, V> Select<T> select(SFunction<S, V> function) {
-        sql.fieldList.add(sql.getSqlFieldName(function));
+        sql.selectList.add(sql.getSqlFieldName(function));
         return this;
     }
 
     public <S, V> Select<T> select(String alias, SFunction<S, V> function) {
-        sql.fieldList.add(sql.getSqlFieldName(alias, function));
+        sql.selectList.add(sql.getSqlFieldName(alias, function));
         return this;
     }
 
     public <S, V> Select<T> select(SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add(sql.getSqlFieldName(function) + StringPool.SPACE + as);
+        sql.selectList.add(sql.getSqlFieldName(function) + StringPool.SPACE + as);
         return this;
     }
 
     public <S, V> Select<T> select(String alias, SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add(sql.getSqlFieldName(alias, function) + StringPool.SPACE + as);
+        sql.selectList.add(sql.getSqlFieldName(alias, function) + StringPool.SPACE + as);
         return this;
     }
 
@@ -62,49 +62,49 @@ public class Select<T> {
 
     public <S, V> Select<T> max(SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("MAX(" + sql.getSqlFieldName(function) + ") " + as);
+        sql.selectList.add("MAX(" + sql.getSqlFieldName(function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> max(String alias, SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("MAX(" + sql.getSqlFieldName(alias, function) + ") " + as);
+        sql.selectList.add("MAX(" + sql.getSqlFieldName(alias, function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> min(SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("MIN(" + sql.getSqlFieldName(function) + ") " + as);
+        sql.selectList.add("MIN(" + sql.getSqlFieldName(function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> min(String alias, SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("MIN(" + sql.getSqlFieldName(alias, function) + ") " + as);
+        sql.selectList.add("MIN(" + sql.getSqlFieldName(alias, function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> count(SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("COUNT(" + sql.getSqlFieldName(function) + ") " + as);
+        sql.selectList.add("COUNT(" + sql.getSqlFieldName(function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> count(String alias, SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("COUNT(" + sql.getSqlFieldName(alias, function) + ") " + as);
+        sql.selectList.add("COUNT(" + sql.getSqlFieldName(alias, function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> sum(SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("SUM(" + sql.getSqlFieldName(function) + ") " + as);
+        sql.selectList.add("SUM(" + sql.getSqlFieldName(function) + ") " + as);
         return this;
     }
 
     public <S, V> Select<T> sum(String alias, SFunction<S, V> function, SFunction<T, ?> asFunction) {
         String as = PropertyNamer.methodToProperty(LambdaUtils.extract(asFunction).getImplMethodName());
-        sql.fieldList.add("SUM(" + sql.getSqlFieldName(alias, function) + ") " + as);
+        sql.selectList.add("SUM(" + sql.getSqlFieldName(alias, function) + ") " + as);
         return this;
     }
 
@@ -131,7 +131,7 @@ public class Select<T> {
                 }
             }
 
-            sql.fieldList.add(alias + StringPool.DOT + StrUtil.toUnderlineCase(fieldName));
+            sql.selectList.add(alias + StringPool.DOT + StrUtil.toUnderlineCase(fieldName));
         }
         return this;
     }

+ 4 - 3
sd-framework/src/main/java/com/sd/framework/util/sql/Sql.java

@@ -24,9 +24,10 @@ public class Sql<T> {
     protected static final JoinMapper mapper = SpringUtil.getBean(JoinMapper.class);
 
     protected final Class<T> resultCls;
-    protected final List<String> fieldList = new ArrayList<>();
-    protected final List<String> fromList = new ArrayList<>();
     protected final Map<Class<?>, String> tableAliasMap = new HashMap<>();
+    protected final List<String> selectList = new ArrayList<>();
+    protected final List<String> fromList = new ArrayList<>();
+
     protected Boolean distinct = false;
 
     public Sql(Class<T> resultCls) {
@@ -61,7 +62,7 @@ public class Sql<T> {
 
     protected String getSql() {
         return "SELECT" + (distinct ? "DISTINCT" : StringPool.EMPTY) + StringPool.SPACE +
-                CollectionUtil.join(fieldList, StringPool.COMMA) +
+                CollectionUtil.join(selectList, StringPool.COMMA) +
                 CollectionUtil.join(fromList, StringPool.EMPTY);
     }