feat: Lambda 方式支持 allColumns 和 defaultColumns 构建。

This commit is contained in:
Suomm 2023-10-01 19:58:21 +08:00
parent aeabd8fc50
commit 8880033464

View File

@ -15,10 +15,15 @@
*/ */
package com.mybatisflex.core.query; package com.mybatisflex.core.query;
import com.mybatisflex.core.table.TableInfo;
import com.mybatisflex.core.table.TableInfoFactory;
import com.mybatisflex.core.util.ArrayUtil; import com.mybatisflex.core.util.ArrayUtil;
import com.mybatisflex.core.util.LambdaGetter; import com.mybatisflex.core.util.LambdaGetter;
import com.mybatisflex.core.util.LambdaUtil; import com.mybatisflex.core.util.LambdaUtil;
import java.util.ArrayList;
import java.util.List;
import static com.mybatisflex.core.constant.FuncName.*; import static com.mybatisflex.core.constant.FuncName.*;
/** /**
@ -2439,12 +2444,37 @@ public class QueryMethods {
} }
/** /**
* 构建所有列 * 构建所有列
*/ */
public static QueryColumn allColumns() { public static QueryColumn allColumns() {
return column("*"); return column("*");
} }
/**
* 构建所有列
*/
public static Iterable<QueryColumn> allColumns(Class<?>... classes) {
List<QueryColumn> queryColumns = new ArrayList<>(classes.length);
for (Class<?> aClass : classes) {
TableInfo tableInfo = TableInfoFactory.ofEntityClass(aClass);
QueryTable queryTable = new QueryTable(tableInfo.getSchema(), tableInfo.getTableName());
queryColumns.add(new QueryColumn(queryTable, "*"));
}
return queryColumns;
}
/**
* 构建默认列
*/
public static Iterable<QueryColumn> defaultColumns(Class<?>... classes) {
List<QueryColumn> queryColumns = new ArrayList<>();
for (Class<?> aClass : classes) {
TableInfo tableInfo = TableInfoFactory.ofEntityClass(aClass);
queryColumns.addAll(tableInfo.getDefaultQueryColumn());
}
return queryColumns;
}
// === IF 函数 === // === IF 函数 ===
/** /**