public class TableQueryBuilder<T> extends EntityInfo<T>
| 限定符和类型 | 类和说明 |
|---|---|
static class |
TableQueryBuilder.JoinTableConditionInternal<L,R> |
| 构造器和说明 |
|---|
TableQueryBuilder(Class<T> clazz) |
TableQueryBuilder(Class<T> clazz,
String tableName) |
getEntityClass, getTableName, setEntityClass, setTableNamepublic static <T> TableQueryBuilder<T> from(Class<T> clazz)
public static <T> TableQueryBuilder<T> from(Class<T> clazz, String tableName)
public TableQueryBuilder<T> distinct()
public TableQueryBuilder<T> selectAll()
public TableQueryBuilder<T> select(java.util.function.Predicate<Field> filter)
selectField(Predicate)}filter - 满足的条件public TableQueryBuilder<T> selectField(java.util.function.Predicate<Field> filter)
filter - 满足的条件public TableQueryBuilder<T> selectExcept(java.util.function.Predicate<Field> filter)
filter - 要排除的字段满足的条件@SafeVarargs public final TableQueryBuilder<T> select(SFunction<T,Object>... fields)
public TableQueryBuilder<T> selectAs(String columnName, String aliasName)
public TableQueryBuilder<T> selectSum(String columnName, String aliasName)
public TableQueryBuilder<T> selectCount(String columnName, String aliasName)
public TableQueryBuilder<T> selectMax(String columnName, String aliasName)
public TableQueryBuilder<T> selectMin(String columnName, String aliasName)
public TableQueryBuilder<T> groupBy(SFunction<T,Object> field)
public TableQueryBuilder<T> groupBy(String columnName)
public TableQueryBuilder<T> havingSum(java.util.function.Consumer<ConditionBuilder<T>> field)
public TableQueryBuilder<T> havingCount(java.util.function.Consumer<ConditionBuilder<T>> field)
public TableQueryBuilder<T> havingMax(java.util.function.Consumer<ConditionBuilder<T>> field)
public TableQueryBuilder<T> havingMin(java.util.function.Consumer<ConditionBuilder<T>> field)
public TableQueryBuilder<T> havingAvg(java.util.function.Consumer<ConditionBuilder<T>> field)
public TableQueryBuilder<T> having(String aggregationType, java.util.function.Consumer<ConditionBuilder<T>> field)
aggregationType - 聚合类型,例如SUM,AVG,COUNT等field - 条件构造器public ConditionBuilder<T> where()
public ConditionBuilder<T> and()
public ConditionBuilder<T> or()
public <R> JoinConditionBuilder<T,R> leftJoin(TableQueryBuilder<R> relation)
public <R> JoinConditionBuilder<T,R> rightJoin(TableQueryBuilder<R> relation)
public <R> JoinConditionBuilder<T,R> innerJoin(TableQueryBuilder<R> relation)
public <R> JoinConditionBuilder<T,R> join(TableQueryBuilder<R> relation)
public TableQueryBuilder<T> orderBy(SFunction<T,Object> field)
public TableQueryBuilder<T> orderBy(String columnName)
public TableQueryBuilder<T> orderByDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByDesc(String columnName)
public TableQueryBuilder<T> orderBySum(SFunction<T,Object> field)
public TableQueryBuilder<T> orderBySum(String columnName)
public TableQueryBuilder<T> orderBySumDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderBySumDesc(String columnName)
public TableQueryBuilder<T> orderByCount(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByCount(String columnName)
public TableQueryBuilder<T> orderByCountDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByCountDesc(String columnName)
public TableQueryBuilder<T> orderByMax(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByMax(String columnName)
public TableQueryBuilder<T> orderByMaxDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByMaxDesc(String columnName)
public TableQueryBuilder<T> orderByMin(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByMin(String columnName)
public TableQueryBuilder<T> orderByMinDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByMinDesc(String columnName)
public TableQueryBuilder<T> orderByAvg(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByAvg(String columnName)
public TableQueryBuilder<T> orderByAvgDesc(SFunction<T,Object> field)
public TableQueryBuilder<T> orderByAvgDesc(String columnName)
public TableQueryBuilder<T> orderByAggregation(SFunction<T,Object> field, String aggregationType)
public TableQueryBuilder<T> orderByAggregation(String columnName, String aggregationType)
public TableQueryBuilder<T> orderByAggregationDesc(SFunction<T,Object> field, String aggregationType)
public TableQueryBuilder<T> orderByAggregationDesc(String columnName, String aggregationType)
public TableQueryBuilder<T> page(IPageInput page)
public TableQueryBuilder<T> page(int pageIndex, int pageSize)
public TableQueryBuilder<T> take(int pageSize)
public TableQueryBuilder<T> skip(int skipSize)
public QueryBuilder<T> build()
public <Z> QueryBuilder<Z> build(Class<Z> outputClazz)
public List<ConditionBuilder<T>> getConditions()
public List<ColumnQueryBuilder<T>> getSelectColumns()
public List<TableQueryBuilder.JoinTableConditionInternal<T,?>> getJoinList()
public List<ColumnQueryBuilder<T>> getGroupByColumns()
public List<ConditionBuilder<T>> getHavingConditions()
public Integer getSkipSize()
public Integer getStartIndex()
public Integer getEndIndex()
public Integer getPageSize()
public Integer getPageIndex()
public List<ColumnQueryBuilder<T>> getOrderByColumns()
public long getTotalItemCount()
public void setTotalItemCount(long totalItemCount)
public Boolean getTotalCountEnabled()
totalCountEnabled()public TableQueryBuilder<T> totalCountEnabled()
getTotalItemCount()来获取总条数
代码示例:
int pageIndex=1; //要查询的页码 int pageSize=10; //页大小 TableQueryBuilder<AuthUser> query=TableQueryBuilder.from(AuthUser.class); query.selectAll().page(pageIndex, pageSize) .totalCountEnabled() //注意必须调用此方法,否则下方query.getTotalItemCount()无法获取总条数 .where().gt(AuthUser::getUserId, 0); List<AuthUser> userList=dao.selectByBuilder(query.build()); PagedList<AuthUser> pagedList=new PagedList<>(userList,pageIndex,pageSize,query.getTotalItemCount()); logger.info(objectMapper.writeValueAsString(pagedList));
public TableQueryBuilder<T> totalCountEnabled(Boolean skipSelectIfCountZero)
skipSelectIfCountZero - 是否在总行数为0时,继续执行原有查询,忽略全局配置IDatabaseDialect.skipSelectIfCountZero()public Boolean getDistinct()
public Boolean getTemporarySkipSelectIfCountZero()
Copyright © 2020. All rights reserved.