public class TableRelation<R> extends Object implements JoinCondition
| 构造器和说明 |
|---|
TableRelation(SelectSpecification selectSpecification) |
| 限定符和类型 | 方法和说明 |
|---|---|
JoinCondition |
crossJoin(Class<?> clazz)
构建一个 CROSS JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
crossJoin(CteTable cte)
构建一个 CROSS JOIN 连接,用于将当前查询与公共表表达式 (CTE) 的结果关联。
|
FetchResult<R> |
fetch()
获取查询结果,返回
FetchResult单表查询时默认返回表实体类实例化后的对象。 |
<T> FetchResult<T> |
fetch(Class<T> returnClass)
获取查询结果,返回指定类型的数据。
|
JoinCondition |
fullJoin(Class<?> clazz,
Consumer<Condition> onCondition)
构建一个 FULL JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
fullJoin(Class<?> clazz,
String alias,
Consumer<Condition> onCondition)
构建一个 FULL JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
fullJoin(CteTable cte,
Consumer<Condition> onCondition)
构建一个 FULL JOIN 连接,用于将当前查询与公共表表达式 (CTE) 的结果关联。
|
protected SelectSpecification |
getSelectSpecification() |
<T> TableRelation<R> |
groupBy(FieldFn<T,?>... fnKey) |
TableRelation<R> |
groupBy(GroupFn... groupByFn) |
<T> TableRelation<R> |
groupBy(String tableAlias,
FieldFn<T,?> fn) |
TableRelation<R> |
groupBy(String tableAlias,
String columnName) |
TableRelation<R> |
having(Consumer<HavingCondition> condition) |
JoinCondition |
innerJoin(Class<?> clazz,
Consumer<Condition> onCondition)
构建一个 INNER JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
innerJoin(Class<?> clazz,
String alias,
Consumer<Condition> onCondition)
构建一个 INNER JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
innerJoin(Consumer<AbstractColumnReference> nestedSelect,
String alias,
Consumer<Condition> onCondition)
构建一个 INNER JOIN 连接,用于将当前查询与子查询结果关联。
|
JoinCondition |
innerJoin(CteTable cte,
Consumer<Condition> onCondition)
构建一个 INNER JOIN 连接,用于将当前查询与公共表表达式 (CTE) 结果关联。
|
JoinCondition |
innerJoin(Supplier<TableFunction> tableFunction,
String alias,
Consumer<Condition> onCondition)
构建一个 INNER JOIN 连接,用于将当前查询与表函数的结果关联。
|
JoinCondition |
leftJoin(Class<?> clazz,
Consumer<Condition> onCondition)
构建一个 LEFT JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
leftJoin(Class<?> clazz,
String alias,
Consumer<Condition> onCondition)
构建一个 LEFT JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
leftJoin(Consumer<AbstractColumnReference> nestedSelect,
String alias,
Consumer<Condition> onCondition)
构建一个 LEFT JOIN 连接,用于将当前查询与子查询结果关联。
|
JoinCondition |
leftJoin(CteTable cte,
Consumer<Condition> onCondition)
构建一个 LEFT JOIN 连接,用于将当前查询与公共表表达式 (CTE) 结果关联。
|
JoinCondition |
leftJoin(Supplier<TableFunction> tableFunction,
String alias,
Consumer<Condition> onCondition)
构建一个 LEFT JOIN 连接,用于将当前查询与表函数的结果关联。
|
Fetchable |
limit(int limit)
限制查询返回的行数。
|
Fetchable |
limit(int offset,
int limit)
限制查询返回的行数。
|
<T,F> ThenSortOrder<R> |
orderBy(FieldFn<T,F> field) |
<T,F> ThenSortOrder<R> |
orderBy(FieldFn<T,F> field,
SortOrder sortOrder) |
ThenSortOrder<R> |
orderBy(String orderingFragment) |
<T,F> ThenSortOrder<R> |
orderBy(String tableAlias,
FieldFn<T,F> field) |
<T,F> ThenSortOrder<R> |
orderBy(String tableAlias,
FieldFn<T,F> field,
SortOrder sortOrder) |
ThenSortOrder<R> |
orderBy(String tableAlias,
String columnName) |
ThenSortOrder<R> |
orderBy(String tableAlias,
String columnName,
SortOrder sortOrder) |
JoinCondition |
rightJoin(Class<?> clazz,
Consumer<Condition> onCondition)
构建一个 RIGHT JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
rightJoin(Class<?> clazz,
String alias,
Consumer<Condition> onCondition)
构建一个 RIGHT JOIN 连接,用于将当前查询与另一个表关联。
|
JoinCondition |
rightJoin(Consumer<AbstractColumnReference> nestedSelect,
String alias,
Consumer<Condition> onCondition)
构建一个 RIGHT JOIN 连接,用于将当前查询与子查询结果关联。
|
JoinCondition |
rightJoin(CteTable cte,
Consumer<Condition> onCondition)
构建一个 RIGHT JOIN 连接,用于将当前查询与公共表表达式 (CTE) 结果关联。
|
JoinCondition |
rightJoin(Supplier<TableFunction> tableFunction,
String alias,
Consumer<Condition> onCondition)
构建一个 RIGHT JOIN 连接,用于将当前查询与表函数的结果关联。
|
TableRelation<R> |
where()
空条件 WHERE,返回无条件的查询上下文。
|
TableRelation<R> |
where(Consumer<WhereCondition> condition)
追加 WHERE 条件。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitfetchOriginalMappublic TableRelation(SelectSpecification selectSpecification)
public JoinCondition innerJoin(Class<?> clazz, Consumer<Condition> onCondition)
JoinConditionINNER JOIN 返回两个表中满足连接条件的所有记录。如果没有匹配的记录,则不会出现在结果集中。
innerJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition innerJoin(Class<?> clazz, String alias, Consumer<Condition> onCondition)
JoinConditionINNER JOIN 返回两个表中满足连接条件的所有记录。如果没有匹配的记录,则不会出现在结果集中。 此方法支持指定表别名。
innerJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类alias - 表的别名,用于在查询中标识该表onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition innerJoin(Consumer<AbstractColumnReference> nestedSelect, String alias, Consumer<Condition> onCondition)
JoinCondition子查询返回的结果集会作为临时表参与连接,支持指定别名和 ON 条件。
innerJoin 在接口中 JoinConditionnestedSelect - 子查询构建器,用于生成临时表alias - 子查询结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition innerJoin(Supplier<TableFunction> tableFunction, String alias, Consumer<Condition> onCondition)
JoinCondition表函数的返回值作为临时表参与连接,支持指定别名和 ON 条件。
innerJoin 在接口中 JoinConditiontableFunction - 表函数构建器,用于生成临时表alias - 表函数结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition innerJoin(CteTable cte, Consumer<Condition> onCondition)
JoinConditionCTE 的返回值作为临时表参与连接,支持 ON 条件。
innerJoin 在接口中 JoinConditioncte - 公共表表达式实例onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition leftJoin(Class<?> clazz, Consumer<Condition> onCondition)
JoinConditionLEFT JOIN 返回左表中的所有记录,以及右表中满足连接条件的记录。如果右表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。
leftJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition leftJoin(Class<?> clazz, String alias, Consumer<Condition> onCondition)
JoinConditionLEFT JOIN 返回左表中的所有记录,以及右表中满足连接条件的记录。如果右表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。此方法支持指定表别名。
leftJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类alias - 表的别名,用于在查询中标识该表onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition leftJoin(Consumer<AbstractColumnReference> nestedSelect, String alias, Consumer<Condition> onCondition)
JoinCondition子查询返回的结果集会作为临时表参与连接,支持指定别名和 ON 条件。
leftJoin 在接口中 JoinConditionnestedSelect - 子查询构建器,用于生成临时表alias - 子查询结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition leftJoin(Supplier<TableFunction> tableFunction, String alias, Consumer<Condition> onCondition)
JoinCondition表函数的返回值作为临时表参与连接,支持指定别名和 ON 条件。
leftJoin 在接口中 JoinConditiontableFunction - 表函数构建器,用于生成临时表alias - 表函数结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition leftJoin(CteTable cte, Consumer<Condition> onCondition)
JoinConditionCTE 的返回值作为临时表参与连接,支持 ON 条件。
leftJoin 在接口中 JoinConditioncte - 公共表表达式实例onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition rightJoin(Class<?> clazz, Consumer<Condition> onCondition)
JoinConditionRIGHT JOIN 返回右表中的所有记录,以及左表中满足连接条件的记录。如果左表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。
rightJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition rightJoin(Class<?> clazz, String alias, Consumer<Condition> onCondition)
JoinConditionRIGHT JOIN 返回右表中的所有记录,以及左表中满足连接条件的记录。如果左表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。此方法支持指定表别名。
rightJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类alias - 表的别名,用于在查询中标识该表onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition rightJoin(Consumer<AbstractColumnReference> nestedSelect, String alias, Consumer<Condition> onCondition)
JoinCondition子查询返回的结果集会作为临时表参与连接,支持指定别名和 ON 条件。
rightJoin 在接口中 JoinConditionnestedSelect - 子查询构建器,用于生成临时表alias - 子查询结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition rightJoin(Supplier<TableFunction> tableFunction, String alias, Consumer<Condition> onCondition)
JoinCondition表函数的返回值作为临时表参与连接,支持指定别名和 ON 条件。
rightJoin 在接口中 JoinConditiontableFunction - 表函数构建器,用于生成临时表alias - 表函数结果的别名onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition rightJoin(CteTable cte, Consumer<Condition> onCondition)
JoinConditionCTE 的返回值作为临时表参与连接,支持 ON 条件。
rightJoin 在接口中 JoinConditioncte - 公共表表达式实例onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition fullJoin(Class<?> clazz, Consumer<Condition> onCondition)
JoinConditionFULL JOIN 返回左右表中所有记录,以及满足连接条件的记录。如果任一表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。
fullJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition fullJoin(Class<?> clazz, String alias, Consumer<Condition> onCondition)
JoinConditionFULL JOIN 返回左右表中所有记录,以及满足连接条件的记录。如果任一表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。此方法支持指定表别名。
fullJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类alias - 表的别名,用于在查询中标识该表onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition fullJoin(CteTable cte, Consumer<Condition> onCondition)
JoinConditionFULL JOIN 返回左右表中所有记录,以及满足连接条件的记录。如果任一表中没有匹配的记录, 则结果集中该部分字段的值为 NULL。此方法用于支持 CTE 作为临时表参与连接。
fullJoin 在接口中 JoinConditioncte - 公共表表达式实例onCondition - 用于构建 ON 条件的 Consumer 对象,通过 Condition 接口定义连接条件JoinCondition 实例,用于继续构建查询链public JoinCondition crossJoin(Class<?> clazz)
JoinConditionCROSS JOIN 返回笛卡尔积,即左表和右表中每一条记录的所有组合。 通常在没有显式连接条件时使用 CROSS JOIN,或者用于生成测试数据。
crossJoin 在接口中 JoinConditionclazz - 需要连接的表对应的实体类JoinCondition 实例,用于继续构建查询链public JoinCondition crossJoin(CteTable cte)
JoinConditionCROSS JOIN 返回笛卡尔积,即左表和右表中每一条记录的所有组合。 此方法适用于使用公共表表达式作为数据源参与笛卡尔积操作的场景。
crossJoin 在接口中 JoinConditioncte - 公共表表达式实例JoinCondition 实例,用于继续构建查询链public TableRelation<R> where(Consumer<WhereCondition> condition)
JoinConditionwhere 在接口中 JoinConditioncondition - 用于构建 WHERE 条件的 Consumer 对象public Fetchable limit(int offset, int limit)
JoinConditionlimit 在接口中 JoinConditionoffset - 跳过的行数limit - 返回的最大行数public Fetchable limit(int limit)
JoinConditionlimit 在接口中 JoinConditionlimit - 返回的最大行数public TableRelation<R> where()
JoinConditionwhere 在接口中 JoinConditionpublic FetchResult<R> fetch()
FetchableFetchResultthis#fetch(Class),否则编译器可能要求手动强转类型,即使是类型安全的。
通常情况下,如果编译器没有准确的推断出具体类型(此时引用类型为Object),则一般会抛出参数状态异常
fetch 在接口中 FetchableFetchable.fetch(Class)public <T> FetchResult<T> fetch(Class<T> returnClass)
Fetchablefetch 在接口中 FetchableT - 返回的数据类型returnClass - 结果数据类型的 Class 对象FetchResult@SafeVarargs public final <T> TableRelation<R> groupBy(FieldFn<T,?>... fnKey)
public final TableRelation<R> groupBy(String tableAlias, String columnName)
public final <T> TableRelation<R> groupBy(String tableAlias, FieldFn<T,?> fn)
public final TableRelation<R> groupBy(GroupFn... groupByFn)
public TableRelation<R> having(Consumer<HavingCondition> condition)
public <T,F> ThenSortOrder<R> orderBy(FieldFn<T,F> field)
public <T,F> ThenSortOrder<R> orderBy(FieldFn<T,F> field, SortOrder sortOrder)
public <T,F> ThenSortOrder<R> orderBy(String tableAlias, FieldFn<T,F> field)
public <T,F> ThenSortOrder<R> orderBy(String tableAlias, FieldFn<T,F> field, SortOrder sortOrder)
public ThenSortOrder<R> orderBy(String tableAlias, String columnName)
public ThenSortOrder<R> orderBy(String tableAlias, String columnName, SortOrder sortOrder)
public ThenSortOrder<R> orderBy(String orderingFragment)
protected SelectSpecification getSelectSpecification()
Copyright © 2024 Dynamic-SQL. All rights reserved.