public class ColumnReference extends AbstractColumnReference
selectSpecification| 构造器和说明 |
|---|
ColumnReference(SelectSpecification selectSpecification) |
allColumn, allColumn, allColumn, collectionColumn, column, column, column, column, column, column, column, column, column, column, column, column, column, distinct, getSelectSpecification, ignoreColumn, includeColumns, includeColumns, nestColumnpublic ColumnReference(SelectSpecification selectSpecification)
public AbstractColumnReference distinct()
AbstractColumnReference该方法会将 `DISTINCT` 关键字应用到当前查询的列选择中,确保返回结果中不包含重复记录。
distinct 在类中 AbstractColumnReferencepublic static AbstractColumnReference withColumns()
此方法创建并返回一个 `AbstractColumnReference` 实例, 允许通过链式调用添加列或嵌套的列引用。
示例:
AbstractColumnReference columnReference = ColumnReference.withColumns()
.column(Product::getProductId)
.column(Product::getProductName)
.columnReference(nestedColumnReference());
AbstractColumnReference 对象public <T,F> ColumnReference column(Fn<T,F> fn)
AbstractColumnReference通过方法引用(`Fn`)选择实体类中的特定字段,添加到查询列列表中。
column 在类中 AbstractColumnReferenceT - 表对应的实体类类型F - 字段的类型fn - 映射函数,用于引用实体类中的字段public <T,F> AbstractColumnReference ignoreColumn(Fn<T,F> fn)
AbstractColumnReference显式忽略一个列,使其不参与查询结果。
常用于在已经选择了多个列的情况下,排除掉其中某些不需要的列。
ignoreColumn 在类中 AbstractColumnReferenceT - 表对应的实体类类型F - 字段的类型fn - 字段引用函数,通常为实体类的 getter 方法引用public <T,F> ColumnReference column(String tableAlias, FieldFn<T,F> fn)
AbstractColumnReference通过指定表别名和方法引用选择字段,适用于多表查询场景。
column 在类中 AbstractColumnReferenceT - 表对应的实体类类型F - 字段的类型tableAlias - 表的别名,用于区分同名字段fn - 映射函数,用于引用实体类中的字段public <T,F> ColumnReference column(FieldFn<T,F> fn, String columnAlias)
AbstractColumnReference通过方法引用选择字段,并为列指定别名,便于结果映射或查询结果识别。
column 在类中 AbstractColumnReferenceT - 表对应的实体类类型F - 字段的类型fn - 映射函数,用于引用实体类中的字段columnAlias - 列的别名public <T,F> ColumnReference column(String tableAlias, FieldFn<T,F> fn, String columnAlias)
AbstractColumnReference适用于多表查询场景,通过表别名和列别名明确指定字段。
column 在类中 AbstractColumnReferenceT - 表对应的实体类类型F - 字段的类型tableAlias - 表的别名fn - 映射函数,用于引用实体类中的字段columnAlias - 列的别名public AbstractColumnReference column(String tableAlias, String columnName)
AbstractColumnReference通过指定表别名和列名,适合手动定义列或非实体字段。
column 在类中 AbstractColumnReferencetableAlias - 表的别名columnName - 列名public AbstractColumnReference column(String tableAlias, String columnName, String columnAlias)
AbstractColumnReference通过表别名、列名和列别名定义自定义字段。
column 在类中 AbstractColumnReferencetableAlias - 表的别名columnName - 列名columnAlias - 列的别名public ColumnReference column(AbstractColumFunction iColumFunction)
AbstractColumnReference通过 AbstractColumFunction 定义聚合函数或标量函数(如 `SUM`、`ROUND`)。
column 在类中 AbstractColumnReferenceiColumFunction - 函数列的定义public AbstractColumnReference column(AbstractColumFunction iColumFunction, String columnAlias)
AbstractColumnReference为函数列指定别名,便于结果映射。
column 在类中 AbstractColumnReferenceiColumFunction - 函数列的定义columnAlias - 列的别名public AbstractColumnReference column(NumberColumn numberColumn)
AbstractColumnReference通过 NumberColumn 定义数字相关的列操作。
column 在类中 AbstractColumnReferencenumberColumn - 数字列对象public AbstractColumnReference column(WindowsFunction windowsFunction, Consumer<Over> over, String columnAlias)
AbstractColumnReference通过 WindowsFunction 和 Over 定义窗口函数(如 `RANK`、`LAG`),并指定窗口定义。
column 在类中 AbstractColumnReferencewindowsFunction - 窗口函数实例over - 窗口定义的消费者,用于配置排序或分区columnAlias - 列的别名public AbstractColumnReference column(Consumer<AbstractColumnReference> nestedSelect, String columnAlias)
AbstractColumnReference通过嵌套查询定义一个子查询列,适合复杂查询场景。
column 在类中 AbstractColumnReferencenestedSelect - 嵌套查询的定义,接受一个消费者来构建子查询columnAlias - 列的别名public AbstractColumnReference collectionColumn(KeyMapping<?,?> keyMapping, Function<AbstractColumnReference,AbstractColumnReference> valueMapper, String targetProperty)
AbstractColumnReference该方法用于描述一对多的关系映射, 查询结果将自动按主表主键(parentKey)分组,将子表数据(valueMapper 中指定的字段)封装为集合, 并注入到主表 Java 对象的指定属性(targetProperty)中。
collectionColumn 在类中 AbstractColumnReferencekeyMapping - 主表字段与子表字段的映射关系(一般为主键外键的映射),用于分组。valueMapper - 子表字段的选择器,通过链式调用 column(...) 指定需要查询的子表字段。targetProperty - 主表实体类中用于接收子表集合的属性名称。@Deprecated public AbstractColumnReference columnReference(AbstractColumnReference columnReference)
AbstractColumnReference注意:该方法已过时,将在未来版本中移除,建议使用 AbstractColumnReference.includeColumns(AbstractColumnReference) 替代。
columnReference 在类中 AbstractColumnReferencecolumnReference - 另一个列引用实例public AbstractColumnReference allColumn()
AbstractColumnReference添加当前查询的所有列(无条件选择),适用于选择表中的全部字段。
allColumn 在类中 AbstractColumnReferencepublic AbstractColumnReference allColumn(Class<?> tableClass)
AbstractColumnReference根据指定的实体类选择表中的所有列。
allColumn 在类中 AbstractColumnReferencetableClass - 表对应的实体类public AbstractColumnReference allColumn(String tableAlias)
AbstractColumnReference根据表别名选择对应的所有列,适用于多表查询。
allColumn 在类中 AbstractColumnReferencetableAlias - 表别名public <T> TableRelation<T> from(Class<T> tableClass)
AbstractColumnReference指定实体类作为主表,初始化查询的数据源。
from 在类中 AbstractColumnReferenceT - 表对应的实体类类型tableClass - 表对应的实体类TableRelation 对象,用于定义表关系public <T> TableRelation<T> from(Class<T> tableClass, String alias)
AbstractColumnReference指定实体类和表别名作为主表,适用于多表或别名查询。
from 在类中 AbstractColumnReferenceT - 表对应的实体类类型tableClass - 表对应的实体类alias - 表别名TableRelation 对象,用于定义表关系public <T> TableRelation<T> from(Supplier<TableFunction> tableFunction, String tableAlias)
AbstractColumnReference通过 TableFunction 和别名定义动态表,适合复杂查询。
from 在类中 AbstractColumnReferenceT - 表对应的实体类类型tableFunction - 表函数的供应商tableAlias - 表别名TableRelation 对象,用于定义表关系public TableRelation<?> from(CteTable cteTable)
AbstractColumnReference使用 CteTable 定义 CTE 作为查询的数据源。
from 在类中 AbstractColumnReferencecteTable - 公共表表达式对象TableRelation 对象,用于定义表关系public TableRelation<?> from(Consumer<AbstractColumnReference> nestedSelect, String selectAlias)
AbstractColumnReference通过嵌套查询定义子查询作为主表,适合复杂数据源。
from 在类中 AbstractColumnReferencenestedSelect - 嵌套查询的定义,接受一个消费者来构建子查询selectAlias - 嵌套查询的别名TableRelation 对象,用于定义表关系Copyright © 2024–2025 Dynamic-SQL. All rights reserved.