public abstract class AbstractColumnReference extends Object
主要功能包括:
该类作为 SQL 构建的核心抽象部分,可以通过继承该类来实现更多高级操作或定制化行为。
注意:该类的具体实现需要维护与 SelectSpecification 的状态一致性,
以确保查询构建的逻辑正确。
| 限定符和类型 | 字段和说明 |
|---|---|
protected SelectSpecification |
selectSpecification
维护查询的构建状态和规范。
|
| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractColumnReference(SelectSpecification selectSpecification)
构造函数,初始化
SelectSpecification。 |
| 限定符和类型 | 方法和说明 |
|---|---|
abstract AbstractColumnReference |
allColumn()
选择所有列。
|
abstract AbstractColumnReference |
allColumn(Class<?> tableClass)
选择特定表的所有列。
|
abstract AbstractColumnReference |
allColumn(String tableAlias)
选择指定表别名的所有列。
|
abstract AbstractColumnReference |
column(AbstractColumFunction iColumFunction)
添加一个函数列到查询中。
|
abstract AbstractColumnReference |
column(AbstractColumFunction iColumFunction,
String columnAlias)
添加一个带别名的函数列到查询中。
|
abstract AbstractColumnReference |
column(Consumer<AbstractColumnReference> nestedSelect,
String columnAlias)
添加一个嵌套查询列到当前查询中。
|
abstract <T,F> AbstractColumnReference |
column(FieldFn<T,F> fn,
String columnAlias)
添加一个列到查询中,并设置别名。
|
abstract <T,F> AbstractColumnReference |
column(Fn<T,F> fn)
添加一个列到查询中。
|
abstract <T,F> AbstractColumnReference |
column(String tableAlias,
FieldFn<T,F> fn)
添加一个带有表别名的列到查询中。
|
abstract <T,F> AbstractColumnReference |
column(String tableAlias,
FieldFn<T,F> fn,
String columnAlias)
添加一个带有表别名和列别名的列到查询中。
|
abstract AbstractColumnReference |
column(String tableAlias,
String columnName)
添加一个自定义列到查询中。
|
abstract AbstractColumnReference |
column(String tableAlias,
String columnName,
String columnAlias)
添加一个带有别名的列到查询中。
|
abstract AbstractColumnReference |
column(WindowsFunction windowsFunction,
Over over,
String columnAlias)
添加一个窗口函数列到查询中。
|
abstract AbstractColumnReference |
columnReference(AbstractColumnReference columnReference)
添加另一个列引用到当前查询中。
|
abstract AbstractColumnReference |
distinct()
添加去重关键字(DISTINCT)。
|
abstract <T> TableRelation<T> |
from(Class<T> tableClass)
设置查询的主表。
|
abstract <T> TableRelation<T> |
from(Class<T> tableClass,
String alias)
设置带有别名的主表。
|
abstract TableRelation<?> |
from(Consumer<AbstractColumnReference> nestedSelect,
String selectAlias)
设置一个嵌套查询作为主表。
|
abstract TableRelation<?> |
from(CteTable cteTable)
设置一个公共表表达式(CTE)为主表。
|
protected SelectSpecification |
getSelectSpecification() |
protected final SelectSpecification selectSpecification
protected AbstractColumnReference(SelectSpecification selectSpecification)
SelectSpecification。selectSpecification - 查询规范,用于维护查询状态public abstract AbstractColumnReference distinct()
public abstract <T,F> AbstractColumnReference column(Fn<T,F> fn)
T - 表对应的实体类类型F - 字段类型fn - 映射函数,用于引用具体字段public abstract <T,F> AbstractColumnReference column(String tableAlias, FieldFn<T,F> fn)
T - 表对应的实体类类型F - 字段类型tableAlias - 表的别名fn - 映射函数,用于引用具体字段public abstract <T,F> AbstractColumnReference column(FieldFn<T,F> fn, String columnAlias)
T - 表对应的实体类类型F - 字段类型fn - 映射函数,用于引用具体字段columnAlias - 列的别名public abstract <T,F> AbstractColumnReference column(String tableAlias, FieldFn<T,F> fn, String columnAlias)
T - 表对应的实体类类型F - 字段类型tableAlias - 表的别名fn - 映射函数,用于引用具体字段columnAlias - 列的别名public abstract AbstractColumnReference column(String tableAlias, String columnName)
tableAlias - 表的别名columnName - 列名public abstract AbstractColumnReference column(String tableAlias, String columnName, String columnAlias)
tableAlias - 表的别名columnName - 列名columnAlias - 列的别名public abstract AbstractColumnReference column(AbstractColumFunction iColumFunction)
iColumFunction - 函数列的定义public abstract AbstractColumnReference column(AbstractColumFunction iColumFunction, String columnAlias)
iColumFunction - 函数列的定义columnAlias - 列的别名public abstract AbstractColumnReference column(WindowsFunction windowsFunction, Over over, String columnAlias)
windowsFunction - 窗口函数over - 窗口定义columnAlias - 列的别名public abstract AbstractColumnReference column(Consumer<AbstractColumnReference> nestedSelect, String columnAlias)
nestedSelect - 嵌套查询的定义columnAlias - 列的别名public abstract AbstractColumnReference columnReference(AbstractColumnReference columnReference)
columnReference - 另一个列引用实例public abstract AbstractColumnReference allColumn()
public abstract AbstractColumnReference allColumn(Class<?> tableClass)
tableClass - 表对应的实体类public abstract AbstractColumnReference allColumn(String tableAlias)
tableAlias - 表别名public abstract <T> TableRelation<T> from(Class<T> tableClass)
T - 表对应的实体类类型tableClass - 表对应的实体类public abstract <T> TableRelation<T> from(Class<T> tableClass, String alias)
T - 表对应的实体类类型tableClass - 表对应的实体类alias - 表别名public abstract TableRelation<?> from(CteTable cteTable)
cteTable - 公共表表达式public abstract TableRelation<?> from(Consumer<AbstractColumnReference> nestedSelect, String selectAlias)
nestedSelect - 嵌套查询定义selectAlias - 嵌套查询的别名protected SelectSpecification getSelectSpecification()
Copyright © 2024 Dynamic-SQL. All rights reserved.