public abstract class AbstractProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1> extends Object implements ProxyQueryable<T1Proxy,T1>
| 限定符和类型 | 字段和说明 |
|---|---|
protected ClientQueryable<T1> |
entityQueryable |
protected QueryRuntimeContext |
runtimeContext |
protected T1Proxy |
t1Proxy |
| 构造器和说明 |
|---|
AbstractProxyQueryable(T1Proxy t1Proxy,
ClientQueryable<T1> entityQueryable) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
all(SQLExpression2<ProxyFilter,T1Proxy> whereExpression)
SELECT NOT EXISTS (
SELECT 1
FROM `table` AS `t`
WHERE (`t`.
|
boolean |
any() |
ProxyQueryable<T1Proxy,T1> |
asAlias(String alias) |
ProxyQueryable<T1Proxy,T1> |
asNoTracking() |
ProxyQueryable<T1Proxy,T1> |
asSchema(java.util.function.Function<String,String> schemaAs) |
ProxyQueryable<T1Proxy,T1> |
asTable(java.util.function.Function<String,String> tableNameAs) |
ProxyQueryable<T1Proxy,T1> |
asTracking()
自动将查询结果集合全部添加到当前上下文追踪中,如果当前查询结果十分庞大,并且更新数据只有个别条数,建议不要使用
追踪查询,可以通过开启追踪后使用普通的查询,然后添加到当前的追踪上下文中
EasyQueryClient.addTracking(Object),开始先数据追踪的差异更新
如果当前启用了追踪查询并且在当前上下文已经追加了当前trackKey的对象那么当前查询结果的对象不会被返回,返回的是被追踪的当前对象,
如果对象A:{id:1,name:2}已经被追踪了,新查询的结果是对象A:{id:1,name:3},那么查询到的数据是{id:1,name:3}但是用户获取到的数据是{id:1,name:2}
所以尽可能在追踪后调用entity update,而不是重复查询对应对象 |
long |
count() |
long |
countDistinct(SQLExpression2<ProxySelector,T1Proxy> selectExpression) |
ProxyQueryable<T1Proxy,T1> |
distinct(boolean condition) |
<TR> TR |
firstNotNull(Class<TR> resultClass,
String msg,
String code) |
<TR> TR |
firstOrNull(Class<TR> resultClass) |
T1Proxy |
get1Proxy() |
ClientQueryable<T1> |
getEntityQueryable() |
EntityQueryExpressionBuilder |
getSQLEntityExpressionBuilder() |
ProxyQueryable<T1Proxy,T1> |
groupBy(boolean condition,
SQLExpression2<ProxyGroupSelector,T1Proxy> selectExpression) |
ProxyQueryable<T1Proxy,T1> |
having(boolean condition,
SQLExpression2<ProxyAggregateFilter,T1Proxy> aggregateFilterSQLExpression) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
innerJoin(ProxyQueryable<T2Proxy,T2> joinQueryable,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
innerJoin(T2Proxy joinProxy,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
leftJoin(ProxyQueryable<T2Proxy,T2> joinQueryable,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
leftJoin(T2Proxy joinProxy,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
ProxyQueryable<T1Proxy,T1> |
limit(boolean condition,
long offset,
long rows) |
ProxyQueryable<T1Proxy,T1> |
noInterceptor() |
ProxyQueryable<T1Proxy,T1> |
noInterceptor(String name) |
ProxyQueryable<T1Proxy,T1> |
orderBy(boolean condition,
SQLExpression2<ProxyOrderSelector,T1Proxy> selectExpression,
boolean asc) |
ProxyQueryable<T1Proxy,T1> |
orderByObject(boolean condition,
ObjectSort objectSort) |
Class<T1> |
queryClass() |
ProxyQueryable<T1Proxy,T1> |
queryLargeColumn(boolean queryLarge) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
rightJoin(ProxyQueryable<T2Proxy,T2> joinQueryable,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
<T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> |
rightJoin(T2Proxy joinProxy,
SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on) |
ProxyQueryable<T1Proxy,T1> |
select(Collection<ColumnSegment> columnSegments,
boolean clearAll) |
<TRProxy extends ProxyEntity<TRProxy,TR>,TR> |
select(ProxyEntity<TRProxy,TR> trProxy)
将当前T1对象转成TR对象,select会将T1属性所对应的列名映射到TR对象的列名上(忽略大小写)
T1.property1列名叫做column1,T1.property2列名叫做column2,TR.property3的列名也叫column1
那么生成的sql为:select column1 from t1
如果当前存在join,那么join的子表一律不会映射到resultClass上,如果需要那么请手动调用双参数select
|
ProxyQueryable<T1Proxy,T1> |
select(SQLExpression2<ProxySelector,T1Proxy> selectExpression)
对当前表达式返回自定义select列
|
ProxyQueryable<T1Proxy,T1> |
select(String columns)
设置column所有join表都会生效
|
<TRProxy extends ProxyEntity<TRProxy,TR>,TR> |
select(TRProxy trProxy,
SQLExpression2<ProxyAsSelector<TRProxy,TR>,T1Proxy> selectExpression)
设置返回对象,返回对象会根据selectExpression映射相同列名
多次select会在前一次基础上进行对上次结果进行匿名表处理
|
List<T1> |
toList() |
<TRProxy extends ProxyEntity<TRProxy,TR>,TR> |
toList(TRProxy trProxy) |
List<Map<String,Object>> |
toMaps() |
EasyPageResult<T1> |
toPageResult(long pageIndex,
long pageSize,
long pageTotal) |
EasyPageResult<T1> |
toShardingPageResult(long pageIndex,
long pageSize,
List<Long> totalLines) |
<TR> String |
toSQL(Class<TR> resultClass,
ToSQLContext toSQLContext) |
ProxyQueryable<T1Proxy,T1> |
union(Collection<ProxyQueryable<T1Proxy,T1>> unionQueries) |
ProxyQueryable<T1Proxy,T1> |
unionAll(Collection<ProxyQueryable<T1Proxy,T1>> unionQueries) |
ProxyQueryable<T1Proxy,T1> |
useConnectionMode(ConnectionModeEnum connectionMode) |
ProxyQueryable<T1Proxy,T1> |
useInterceptor() |
ProxyQueryable<T1Proxy,T1> |
useInterceptor(String name) |
ProxyQueryable<T1Proxy,T1> |
useLogicDelete(boolean enable) |
ProxyQueryable<T1Proxy,T1> |
useMaxShardingQueryLimit(int maxShardingQueryLimit) |
ProxyQueryable<T1Proxy,T1> |
useShardingConfigure(int maxShardingQueryLimit,
ConnectionModeEnum connectionMode) |
ProxyQueryable<T1Proxy,T1> |
where(boolean condition,
SQLExpression2<ProxyFilter,T1Proxy> whereExpression) |
ProxyQueryable<T1Proxy,T1> |
whereById(boolean condition,
Object id) |
<TProperty> |
whereByIds(boolean condition,
Collection<TProperty> ids)
根据主键id集合查询
|
ProxyQueryable<T1Proxy,T1> |
whereObject(boolean condition,
Object object) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitavgBigDecimalOrNull, avgFloatOrNull, avgOrDefault, avgOrDefault, avgOrDefault, avgOrDefault, avgOrNull, cloneQueryable, distinct, groupBy, having, limit, limit, limit, maxOrDefault, maxOrNull, minOrDefault, minOrNull, orderBy, orderByAsc, orderByAsc, orderByDesc, orderByDesc, orderByObject, select, sumBigDecimalOrDefault, sumBigDecimalOrNull, sumOrDefault, sumOrNull, union, union, union, unionAll, unionAll, unionAll, where, whereById, whereByIds, whereObjectfirstNotNull, firstNotNull, firstNotNull, firstOrNull, intCount, toMap, toPageResult, toShardingPageResult, toSQL, toSQL, toSQLdisableLogicDelete, enableLogicDeleteasSchema, asTableprotected final T1Proxy extends ProxyEntity<T1Proxy,T1> t1Proxy
protected final QueryRuntimeContext runtimeContext
protected final ClientQueryable<T1> entityQueryable
public AbstractProxyQueryable(T1Proxy t1Proxy, ClientQueryable<T1> entityQueryable)
public T1Proxy get1Proxy()
get1Proxy 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ClientQueryable<T1> getEntityQueryable()
getEntityQueryable 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public Class<T1> queryClass()
queryClass 在接口中 Query<T1>public long countDistinct(SQLExpression2<ProxySelector,T1Proxy> selectExpression)
countDistinct 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public boolean all(SQLExpression2<ProxyFilter,T1Proxy> whereExpression)
ProxyQueryableall 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>whereExpression - 表达式最后一个是取反public <TR> TR firstOrNull(Class<TR> resultClass)
firstOrNull 在接口中 Query<T1>public <TR> TR firstNotNull(Class<TR> resultClass, String msg, String code)
firstNotNull 在接口中 Query<T1>public <TRProxy extends ProxyEntity<TRProxy,TR>,TR> List<TR> toList(TRProxy trProxy)
toList 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <TR> String toSQL(Class<TR> resultClass, ToSQLContext toSQLContext)
public ProxyQueryable<T1Proxy,T1> select(SQLExpression2<ProxySelector,T1Proxy> selectExpression)
ProxyQueryableselect 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <TRProxy extends ProxyEntity<TRProxy,TR>,TR> ProxyQueryable<TRProxy,TR> select(TRProxy trProxy, SQLExpression2<ProxyAsSelector<TRProxy,TR>,T1Proxy> selectExpression)
ProxyQueryableselect 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> select(String columns)
ProxyQueryableselect 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>select 在接口中 Query<T1>public ProxyQueryable<T1Proxy,T1> select(Collection<ColumnSegment> columnSegments, boolean clearAll)
select 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <TRProxy extends ProxyEntity<TRProxy,TR>,TR> ProxyQueryable<TRProxy,TR> select(ProxyEntity<TRProxy,TR> trProxy)
ProxyQueryableselect 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> where(boolean condition, SQLExpression2<ProxyFilter,T1Proxy> whereExpression)
where 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> whereById(boolean condition, Object id)
whereById 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <TProperty> ProxyQueryable<T1Proxy,T1> whereByIds(boolean condition, Collection<TProperty> ids)
ProxyQueryablewhereByIds 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>TProperty - 主键类型condition - 是否添加该条件ids - 主键集合public ProxyQueryable<T1Proxy,T1> whereObject(boolean condition, Object object)
whereObject 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> groupBy(boolean condition, SQLExpression2<ProxyGroupSelector,T1Proxy> selectExpression)
groupBy 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> having(boolean condition, SQLExpression2<ProxyAggregateFilter,T1Proxy> aggregateFilterSQLExpression)
having 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> orderBy(boolean condition, SQLExpression2<ProxyOrderSelector,T1Proxy> selectExpression, boolean asc)
orderBy 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> orderByObject(boolean condition, ObjectSort objectSort)
orderByObject 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> distinct(boolean condition)
distinct 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> limit(boolean condition, long offset, long rows)
limit 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>limit 在接口中 Query<T1>public EasyPageResult<T1> toPageResult(long pageIndex, long pageSize, long pageTotal)
toPageResult 在接口中 Query<T1>public EasyPageResult<T1> toShardingPageResult(long pageIndex, long pageSize, List<Long> totalLines)
toShardingPageResult 在接口中 Query<T1>public EntityQueryExpressionBuilder getSQLEntityExpressionBuilder()
getSQLEntityExpressionBuilder 在接口中 Query<T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> leftJoin(T2Proxy joinProxy, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
leftJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> leftJoin(ProxyQueryable<T2Proxy,T2> joinQueryable, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
leftJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> rightJoin(T2Proxy joinProxy, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
rightJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> rightJoin(ProxyQueryable<T2Proxy,T2> joinQueryable, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
rightJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> innerJoin(T2Proxy joinProxy, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
innerJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public <T2Proxy extends ProxyEntity<T2Proxy,T2>,T2> ProxyQueryable2<T1Proxy,T1,T2Proxy,T2> innerJoin(ProxyQueryable<T2Proxy,T2> joinQueryable, SQLExpression3<ProxyFilter,T1Proxy,T2Proxy> on)
innerJoin 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> union(Collection<ProxyQueryable<T1Proxy,T1>> unionQueries)
union 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> unionAll(Collection<ProxyQueryable<T1Proxy,T1>> unionQueries)
unionAll 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> useLogicDelete(boolean enable)
useLogicDelete 在接口中 LogicDeletable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> noInterceptor()
noInterceptor 在接口中 Interceptable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> useInterceptor(String name)
useInterceptor 在接口中 Interceptable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> noInterceptor(String name)
noInterceptor 在接口中 Interceptable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> useInterceptor()
useInterceptor 在接口中 Interceptable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> asTracking()
ProxyQueryableEasyQueryClient.addTracking(Object),开始先数据追踪的差异更新
如果当前启用了追踪查询并且在当前上下文已经追加了当前trackKey的对象那么当前查询结果的对象不会被返回,返回的是被追踪的当前对象,
如果对象A:{id:1,name:2}已经被追踪了,新查询的结果是对象A:{id:1,name:3},那么查询到的数据是{id:1,name:3}但是用户获取到的数据是{id:1,name:2}
所以尽可能在追踪后调用entity update,而不是重复查询对应对象asTracking 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> asNoTracking()
asNoTracking 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> asTable(java.util.function.Function<String,String> tableNameAs)
asTable 在接口中 TableReNameable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> asSchema(java.util.function.Function<String,String> schemaAs)
asSchema 在接口中 TableReNameable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> asAlias(String alias)
asAlias 在接口中 TableReNameable<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>public ProxyQueryable<T1Proxy,T1> useShardingConfigure(int maxShardingQueryLimit, ConnectionModeEnum connectionMode)
useShardingConfigure 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> useMaxShardingQueryLimit(int maxShardingQueryLimit)
useMaxShardingQueryLimit 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> useConnectionMode(ConnectionModeEnum connectionMode)
useConnectionMode 在接口中 ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>public ProxyQueryable<T1Proxy,T1> queryLargeColumn(boolean queryLarge)
queryLargeColumn 在接口中 QueryStrategy<ProxyQueryable<T1Proxy extends ProxyEntity<T1Proxy,T1>,T1>>Copyright © 2023. All rights reserved.