public abstract class AbstractJdbcQuery extends Object implements IDataQuery
| Modifier and Type | Field and Description |
|---|---|
protected IDBCluster |
dbCluster
数据库集群引用.
|
protected IPrimaryCache |
primaryCache
一级缓存.
|
protected ISecondCache |
secondCache
二级缓存.
|
| Constructor and Description |
|---|
AbstractJdbcQuery() |
| Modifier and Type | Method and Description |
|---|---|
private <T> Map<Number,T> |
_getPkValues(List<T> entities)
获取列表的主键.
|
private <T> T |
_selectByPk(DB db,
Number pk,
Class<T> clazz)
一个主分库分表, 根据主键查询.
|
private <T> List<T> |
_selectByPks(DB db,
Class<T> clazz,
Number[] pks)
一个主分库分表, 根据多个主键查询.
|
private Number |
_selectCount(DB db,
Class<?> clazz)
获取分库分表记录总数.
|
private <T> T |
_selectGlobalByPk(Connection conn,
Number pk,
Class<T> clazz) |
private <T> List<T> |
_selectGlobalByPks(Connection conn,
Class<T> clazz,
Number[] pks) |
private <T> Map<Number,T> |
_selectGlobalByPksWithMap(Connection conn,
Class<T> clazz,
Number[] pks) |
private Number |
_selectGlobalCount(Connection conn,
Class<?> clazz)
获取全局表的count数
|
IDBCluster |
getDBCluster()
get db cluster.
|
IPrimaryCache |
getPrimaryCache()
get second cache.
|
ISecondCache |
getSecondCache()
get second cache.
|
protected boolean |
isCacheAvailable(Class<?> clazz,
boolean useCache)
判断一级缓存是否可用
|
protected boolean |
isSecondCacheAvailable(Class<?> clazz,
boolean useCache)
判断二级缓存是否可用
|
protected <T> List<T> |
selectByPksWithCache(DB db,
Class<T> clazz,
Number[] pks,
boolean useCache)
findByPks加入缓存
|
private <T> Map<Number,T> |
selectByPksWithMap(DB db,
Class<T> clazz,
Number[] pks) |
protected <T> T |
selectByPkWithCache(Connection conn,
String clusterName,
Number pk,
Class<T> clazz,
boolean useCache) |
protected <T> T |
selectByPkWithCache(DB db,
Number pk,
Class<T> clazz,
boolean useCache)
findByPk加入缓存.
|
protected <T> List<T> |
selectByQuery(DB db,
IQuery query,
Class<T> clazz)
根据查询条件对象进行查询.
|
protected List<Map<String,Object>> |
selectBySql(DB db,
SQL sql)
一个主分库分表, 根据条件查询.
|
protected Number |
selectCount(DB db,
Class<?> clazz,
IQuery query)
根据查询条件查询记录数.
|
protected Number |
selectCountWithCache(DB db,
Class<?> clazz,
boolean useCache)
getCount加入缓存
|
protected <T> List<T> |
selectGlobalByPksWithCache(Connection conn,
String clusterName,
Class<T> clazz,
Number[] pks,
boolean useCache) |
protected <T> List<T> |
selectGlobalByQuery(Connection conn,
IQuery query,
Class<T> clazz) |
protected List<Map<String,Object>> |
selectGlobalBySql(Connection conn,
SQL sql) |
protected Number |
selectGlobalCount(IQuery query,
DBInfo dbConnInfo,
String clusterName,
Class<?> clazz) |
protected Number |
selectGlobalCountWithCache(DBInfo dbConnInfo,
String clusterName,
Class<?> clazz,
boolean useCache)
带缓存的获取全局表count
|
protected <T> Number[] |
selectGlobalPksByQuery(Connection conn,
IQuery query,
Class<T> clazz) |
protected <T> Number[] |
selectPksByQuery(DB db,
IQuery query,
Class<T> clazz)
根据查询条件查询主键.
|
void |
setDBCluster(IDBCluster dbCluster)
set db cluster.
|
void |
setPrimaryCache(IPrimaryCache primaryCache)
set primary cache.
|
void |
setSecondCache(ISecondCache secondCache)
set second cache.
|
protected IDBCluster dbCluster
protected IPrimaryCache primaryCache
protected ISecondCache secondCache
protected boolean isCacheAvailable(Class<?> clazz, boolean useCache)
protected boolean isSecondCacheAvailable(Class<?> clazz, boolean useCache)
private Number _selectGlobalCount(Connection conn, Class<?> clazz)
conn - clazz - protected Number selectGlobalCount(IQuery query, DBInfo dbConnInfo, String clusterName, Class<?> clazz)
protected Number selectGlobalCountWithCache(DBInfo dbConnInfo, String clusterName, Class<?> clazz, boolean useCache)
conn - clusterName - clazz - private Number _selectCount(DB db, Class<?> clazz)
db - 分库分表clazz - 数据对象DBOperationException - 操作失败IllegalArgumentException - 输入参数错误protected Number selectCountWithCache(DB db, Class<?> clazz, boolean useCache)
db - clazz - protected Number selectCount(DB db, Class<?> clazz, IQuery query)
db - 分库分表引用clazz - 实体对象query - 查询条件private <T> T _selectGlobalByPk(Connection conn, Number pk, Class<T> clazz)
protected <T> T selectByPkWithCache(Connection conn, String clusterName, Number pk, Class<T> clazz, boolean useCache)
private <T> T _selectByPk(DB db, Number pk, Class<T> clazz)
pk - 主键clazz - 数据对象类型DBOperationException - 操作失败IllegalArgumentException - 输入参数错误protected <T> T selectByPkWithCache(DB db, Number pk, Class<T> clazz, boolean useCache)
db - pk - clazz - private <T> List<T> _selectGlobalByPks(Connection conn, Class<T> clazz, Number[] pks)
private <T> Map<Number,T> _selectGlobalByPksWithMap(Connection conn, Class<T> clazz, Number[] pks)
protected <T> List<T> selectGlobalByPksWithCache(Connection conn, String clusterName, Class<T> clazz, Number[] pks, boolean useCache)
private <T> List<T> _selectByPks(DB db, Class<T> clazz, Number[] pks)
db - 分库分表clazz - 数据对象类型pks - 主键DBOperationException - 操作失败IllegalArgumentException - 输入参数错误private <T> Map<Number,T> selectByPksWithMap(DB db, Class<T> clazz, Number[] pks)
protected <T> List<T> selectByPksWithCache(DB db, Class<T> clazz, Number[] pks, boolean useCache)
db - clazz - pks - protected List<Map<String,Object>> selectBySql(DB db, SQL sql)
db - 分库分表sql - 查询语句DBOperationException - 操作失败IllegalArgumentException - 输入参数错误protected <T> List<T> selectGlobalByQuery(Connection conn, IQuery query, Class<T> clazz)
protected <T> List<T> selectByQuery(DB db, IQuery query, Class<T> clazz)
db - 分库分表query - 查询条件clazz - 数据对象classDBOperationException - 操作失败IllegalArgumentException - 输入参数错误protected <T> Number[] selectGlobalPksByQuery(Connection conn, IQuery query, Class<T> clazz)
protected <T> Number[] selectPksByQuery(DB db, IQuery query, Class<T> clazz)
db - query - clazz - private <T> Map<Number,T> _getPkValues(List<T> entities)
entities - Exception - 获取pk值失败public IDBCluster getDBCluster()
IDataQuerygetDBCluster in interface IDataQuerypublic void setDBCluster(IDBCluster dbCluster)
IDataQuerysetDBCluster in interface IDataQuerypublic void setPrimaryCache(IPrimaryCache primaryCache)
IDataQuerysetPrimaryCache in interface IDataQuerypublic IPrimaryCache getPrimaryCache()
IDataQuerygetPrimaryCache in interface IDataQuerypublic void setSecondCache(ISecondCache secondCache)
IDataQuerysetSecondCache in interface IDataQuerypublic ISecondCache getSecondCache()
IDataQuerygetSecondCache in interface IDataQueryCopyright © 2015. All rights reserved.