public abstract class DataCenterBase extends java.lang.Object implements DataCenter
Description: 数据库连接基类,处理一些公共的方法
Title:首亨软件 - CRM、TSS、ERP等信息化管理软件
| 限定符和类型 | 字段和说明 |
|---|---|
static java.lang.String |
CONFIG_CONN |
static int |
External |
static java.lang.String |
External_CONN |
static java.lang.String |
LOCAL_CONN |
static java.lang.String |
POOL_CONN |
static int |
SH_BASIC_POOL |
static int |
SH_DRUID |
static int |
SH_POOL |
static int |
STRUTS_POOL |
static int |
TOMCAT_POOL |
static int |
UNDEFINE |
static int |
WEBLOGIC_POOL |
static boolean |
writeLogFlag |
| 构造器和说明 |
|---|
DataCenterBase() |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String[] |
addBatch(java.lang.String key,
java.lang.Object[] obj)
添加批量操作
|
void |
beginStatement(java.sql.Statement statement) |
void |
checkAndInitCache() |
DCWatcher |
checkRetrieveWatcher(java.lang.String key)
查看是否观察者
|
boolean |
checkValidAndReset()
检查连接,如果连接无效了,则自动重新连接
|
void |
close() |
void |
closeCache() |
void |
closeStatement(java.sql.Statement statement) |
Datastore |
convertRsToDs(java.sql.ResultSet rs,
int start,
int end)
将JDBC数据集转化称Datastore
|
Datastore |
convertRsToDs(java.sql.ResultSet rs,
java.lang.String sql,
java.lang.String[] colsType,
java.lang.Object[] obj,
long startTime)
将整个数据集都转化称Datastore
|
java.lang.String[] |
createColsTypeByValue(java.lang.Object[] value)
通过参数值自动生成参数类型
|
SqlBuilder |
createQueryBuilder()
创建查询的SQL生成工具对象为
|
SqlUpdateBuilder |
createUpdateBuilder()
创建添加、修改、删除的SQL生成工具对象为
|
java.lang.String[] |
endBatchUpdateByParams(java.lang.String key)
结束批量更新操作
|
java.lang.String[] |
endBatchUpdateByParams(java.lang.String key,
boolean commit)
结束批量更新操作
|
void |
finishStatement(java.sql.Statement statement) |
int |
getAutoGeneratedKey()
获取自增长列
在执行查询前,需要做的操作有:
setAutoGetGeneratedKey(true)
//执行update
setAutoGetGeneratedKey(false)
int key == getAutoGeneratedKey() ;
|
java.lang.String |
getAutoGeneratedKeyStr()
获取自增长列并转化为String类型
在执行查询前,需要做的操作有:
setAutoGetGeneratedKey(true)
//执行带insert的且有自增长列的操作
setAutoGetGeneratedKey(false)
String key == getAutoGeneratedKeyStr() ;
|
Datastore |
getCacheDs(java.lang.String key) |
java.lang.String |
getClassInfo()
获取初始化实例类信息
|
java.sql.Connection |
getConnection()
获取连接
|
long |
getConnectStartTime() |
java.lang.String |
getDcType()
DC类型
|
DSCacheRedis |
getDsCacheRedis()
获取redis
|
long |
getExecutionLen()
最后一次执行时长
|
long |
getIdleTime()
获取空闲时间
|
java.lang.Exception |
getLastException() |
java.lang.String |
getLastExecuteSql()
获取最近一次执行的SQL语句
|
java.lang.String |
getParam(java.lang.String key,
java.lang.String defaultValue) |
int |
getQueryTimeout()
获取查询超时时长
|
boolean |
getWriteEnable()
是否记录DC日志标志
|
boolean |
hasConnected()
是否已经建立连接
|
static void |
initExternalDataSource(javax.sql.DataSource datasource,
java.lang.Class<?> clazz)
初始化外部连接
|
boolean |
isClosed()
判断连接是否关闭,只在连接调用close方法后才会返回true
|
boolean |
isExecute()
是否正在执行
|
boolean |
isTooLongIdle(long idleTimeout)
判断是否空闲太久
|
boolean |
isUpdateSilence() |
boolean |
isValid()
判断连接是否有效,默认等待验证连接秒数:5s
|
boolean |
isValid(int timeout)
判断连接是否有效
|
java.lang.String |
printLog() |
java.lang.String |
printLog(org.apache.logging.log4j.Logger log4j) |
java.lang.String |
printLog(org.slf4j.Logger log) |
java.lang.String |
printLog(org.apache.logging.log4j.Logger log4j,
java.lang.String prefix) |
java.lang.String |
processKey(java.lang.String sql,
java.lang.String key,
java.lang.String[] colsType,
java.lang.Object[] obj) |
void |
putCacheDs(java.lang.String key,
Datastore ds) |
java.lang.String[] |
refreshBatchUpdate(java.lang.String key)
刷新批量更新
|
java.lang.String[] |
replaceObject(java.lang.Object obj,
boolean commit) |
Datastore |
retrieveByParams2(java.lang.String sql,
java.util.List<java.lang.Object> objList) |
Datastore |
retrieveByParams2(java.lang.String sql,
java.util.List<java.lang.Object> objList,
boolean isCache) |
Datastore |
retrieveByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> objList)
带参数查询数据集
|
Datastore |
retrieveByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> objList,
boolean cacheFlag)
带参数查询数据集
|
java.lang.Object |
retrieveObjByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> colsValueList,
java.lang.Class queryObj)
查询对象
|
void |
setAutoGetGeneratedKey(boolean getGeneratedKeys)
设置自获取序列号
|
void |
setCheckTimerSchedule(long delay,
boolean forceDisconnect)
设置定时检查的间隔时间参数
|
void |
setCheckTimerSchedule(long delay,
java.lang.String flag)
设置定时检查的间隔时间参数
|
void |
setCheckTimerSchedule(long delay,
java.lang.String flag,
boolean forceDisconnect)
设置定时检查的间隔时间参数
|
boolean |
setConnection(java.sql.Connection conn)
对于外部传入Connection连接的情况,必须设置
|
void |
setConnectState(boolean isConnected)
设置连接是否已经建立
|
void |
setInitClassInfo(java.lang.String initClassInfo)
设置初始化实例类 主要用于日志输出
|
void |
setJDBCParam(java.lang.String driver,
java.lang.String url,
java.lang.String user,
java.lang.String password)
设置配置的连接信息
|
void |
setParam(java.lang.String key,
java.lang.String value) |
void |
setQueryTimeout(int queryTimeout)
设置查询超时时间,0表示无限制
|
void |
setUpdateSilence(boolean isUpdateSilence)
设置此连接是否为安静模式,即执行update时不会通知缓存等事件
|
void |
setWriteEnable(boolean enable)
设置DC日志
|
java.lang.String[] |
updateByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> objList,
boolean commit)
用参数的方式更新数据库
|
void |
watcherRetrieveFinish(DCWatcher watcher,
java.lang.String key,
Datastore ds)
查询结束通知观察者
|
addObject, addObject, beginBatchUpdateByParams, beginBatchUpdateByParams, commit, connect, connect, disconnect, disconnect, getCacheDcType, getDBType, getDriverName, getJDBCPassword, getJDBCUrl, getJDBCUserId, getNewConnection, isExDataCenter, isMainDataCenter, isReportDataCenter, replaceObject, retrieve, retrieve, retrieve, retrieve, retrieveByParams, retrieveByParams, retrieveByParams, retrieveByParams, retrieveByStoreProc, retrieveByStoreProc, retrieveListByStoreProc, retrieveObj, retrieveObj, retrieveObjByParams, retrieveObjByParams, retrieveObjByParams, retrieveObjList, retrieveObjList, retrieveObjList, retrieveObjList, retrieveObjList, rollback, setAutoCommit, setConfig, setConfig, update, update, update, updateByParams, updateByParams, updateByParams, updateByParams, updateByParams, updateByParams, updateByStoreProc, updateByStoreProc, updateByStoreProc, updateByStoreProc, updateByStoreProc, updateByStoreProc, updateByStoreProc, updateObject, updateObjectpublic static final java.lang.String POOL_CONN
public static final java.lang.String CONFIG_CONN
public static final java.lang.String LOCAL_CONN
public static final java.lang.String External_CONN
public static final int UNDEFINE
public static final int SH_POOL
public static final int STRUTS_POOL
public static final int TOMCAT_POOL
public static final int WEBLOGIC_POOL
public static final int SH_BASIC_POOL
public static final int SH_DRUID
public static final int External
public static boolean writeLogFlag
public void setParam(java.lang.String key,
java.lang.String value)
setParam 在接口中 DataCenterpublic java.lang.String getParam(java.lang.String key,
java.lang.String defaultValue)
getParam 在接口中 DataCenterpublic boolean isExecute()
isExecute 在接口中 DataCenterpublic boolean isTooLongIdle(long idleTimeout)
isTooLongIdle 在接口中 DataCenteridleTimeout - 空闲超时时长public long getIdleTime()
getIdleTime 在接口中 DataCenterpublic java.lang.String getLastExecuteSql()
getLastExecuteSql 在接口中 DataCenterpublic DCWatcher checkRetrieveWatcher(java.lang.String key)
key - Stringpublic void watcherRetrieveFinish(DCWatcher watcher, java.lang.String key, Datastore ds)
watcher - DCWatcherkey - Stringds - Datastorepublic void beginStatement(java.sql.Statement statement)
public void finishStatement(java.sql.Statement statement)
public void closeStatement(java.sql.Statement statement)
public void setCheckTimerSchedule(long delay,
java.lang.String flag)
setCheckTimerSchedule 在接口中 DataCenterdelay - 间隔时间,单独产:毫秒flag - 状态标识,用于业务判断public void setCheckTimerSchedule(long delay,
boolean forceDisconnect)
DataCentersetCheckTimerSchedule 在接口中 DataCenterdelay - 间隔时间,单独产:毫秒public void setCheckTimerSchedule(long delay,
java.lang.String flag,
boolean forceDisconnect)
setCheckTimerSchedule 在接口中 DataCenterdelay - 间隔时间,单独产:毫秒flag - 状态标识,用于业务判断forceDisconnect - 到达时间后是否强制关闭,默认:falsepublic java.lang.Exception getLastException()
getLastException 在接口中 DataCenterpublic boolean setConnection(java.sql.Connection conn)
setConnection 在接口中 DataCenterconn - JDBC连接
注意:1)如果已经获取连接再次调用时,必须disconnect后再设置,否则无效
2)通过setConnection设置连接时,不需要调用connect方法public java.sql.Connection getConnection()
getConnection 在接口中 DataCenterpublic void setAutoGetGeneratedKey(boolean getGeneratedKeys)
setAutoGetGeneratedKey 在接口中 DataCentergetGeneratedKeys - booleanpublic int getAutoGeneratedKey()
getAutoGeneratedKey 在接口中 DataCenterpublic java.lang.String getAutoGeneratedKeyStr()
DataCentergetAutoGeneratedKeyStr 在接口中 DataCenterpublic boolean hasConnected()
hasConnected 在接口中 DataCenterpublic void setConnectState(boolean isConnected)
isConnected - booleanpublic boolean isValid(int timeout)
throws java.lang.Exception
isValid 在接口中 DataCentertimeout - 指定等待验证连接的秒数java.lang.Exception - Exceptionpublic boolean isValid()
isValid 在接口中 DataCenterpublic boolean checkValidAndReset()
checkValidAndReset 在接口中 DataCenterpublic boolean isClosed()
throws java.lang.Exception
isClosed 在接口中 DataCenterjava.lang.Exception - Exceptionpublic void setQueryTimeout(int queryTimeout)
setQueryTimeout 在接口中 DataCenterqueryTimeout - 超时时长 单位:秒public int getQueryTimeout()
getQueryTimeout 在接口中 DataCenterpublic void setWriteEnable(boolean enable)
setWriteEnable 在接口中 DataCenterenable - true|falsepublic boolean getWriteEnable()
getWriteEnable 在接口中 DataCenterpublic void setInitClassInfo(java.lang.String initClassInfo)
setInitClassInfo 在接口中 DataCenterinitClassInfo - 实例化类信息描述public java.lang.String getClassInfo()
public java.lang.String getDcType()
public java.lang.String printLog()
printLog 在接口中 DataCenterpublic java.lang.String printLog(org.apache.logging.log4j.Logger log4j)
printLog 在接口中 DataCenterpublic java.lang.String printLog(org.slf4j.Logger log)
printLog 在接口中 DataCenterpublic java.lang.String printLog(org.apache.logging.log4j.Logger log4j,
java.lang.String prefix)
printLog 在接口中 DataCenterpublic Datastore convertRsToDs(java.sql.ResultSet rs, int start, int end)
rs - JDBC数据集start - 起始行,小于1时设置成1end - 结束行,小于1或者大于最大行数的时候设置成最大行public Datastore convertRsToDs(java.sql.ResultSet rs, java.lang.String sql, java.lang.String[] colsType, java.lang.Object[] obj, long startTime)
rs - JDBC数据集sql - 执行SQLcolsType - 参数类型obj - 参数值startTime - 开始时间public long getExecutionLen()
getExecutionLen 在接口中 DataCenterpublic java.lang.String[] addBatch(java.lang.String key,
java.lang.Object[] obj)
addBatch 在接口中 DataCenterkey - 操作序列号,通过beginBatchUpdateByParams获取obj - 参数值public java.lang.String[] refreshBatchUpdate(java.lang.String key)
refreshBatchUpdate 在接口中 DataCenterkey - 操作序列号,通过beginBatchUpdateByParams获取public java.lang.String[] endBatchUpdateByParams(java.lang.String key)
endBatchUpdateByParams 在接口中 DataCenterkey - 操作序列号,通过beginBatchUpdateByParams获取public java.lang.String[] endBatchUpdateByParams(java.lang.String key,
boolean commit)
endBatchUpdateByParams 在接口中 DataCenterkey - 操作序列号,通过beginBatchUpdateByParams获取commit - 自动提交事务,true|false,默认:falsepublic Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.Object> objList)
retrieveByParams2 在接口中 DataCenterpublic Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.Object> objList, boolean isCache)
retrieveByParams2 在接口中 DataCenterpublic Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.String> colsTypeList, java.util.List<java.lang.Object> objList)
DataCenterretrieveByParams2 在接口中 DataCentersql - 查询SQLcolsTypeList - 参数类型数组objList - 参数值数组public Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.String> colsTypeList, java.util.List<java.lang.Object> objList, boolean cacheFlag)
retrieveByParams2 在接口中 DataCentersql - 查询SQLcolsTypeList - 参数类型数组objList - 参数值数组cacheFlag - 缓存标志public java.lang.Object retrieveObjByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> colsValueList,
java.lang.Class queryObj)
throws java.lang.Exception
retrieveObjByParams2 在接口中 DataCentersql - SQL语句queryObj - 带注释的PO对象colsTypeList - 参数类型colsValueList - 参数值java.lang.Exception - 查询异常public java.lang.String[] updateByParams2(java.lang.String sql,
java.util.List<java.lang.String> colsTypeList,
java.util.List<java.lang.Object> objList,
boolean commit)
updateByParams2 在接口中 DataCentersql - 更改数据库数据的语句colsTypeList - 参数类型objList - 参数值数组commit - 是否提交public void checkAndInitCache()
public DSCacheRedis getDsCacheRedis()
DataCentergetDsCacheRedis 在接口中 DataCenterpublic java.lang.String processKey(java.lang.String sql,
java.lang.String key,
java.lang.String[] colsType,
java.lang.Object[] obj)
public Datastore getCacheDs(java.lang.String key)
public void putCacheDs(java.lang.String key,
Datastore ds)
public void closeCache()
public void close()
public long getConnectStartTime()
public boolean isUpdateSilence()
public void setUpdateSilence(boolean isUpdateSilence)
DataCentersetUpdateSilence 在接口中 DataCenterisUpdateSilence - 开头public java.lang.String[] replaceObject(java.lang.Object obj,
boolean commit)
replaceObject 在接口中 DataCenterpublic SqlUpdateBuilder createUpdateBuilder()
createUpdateBuilder 在接口中 DataCenterpublic SqlBuilder createQueryBuilder()
createQueryBuilder 在接口中 DataCenterpublic java.lang.String[] createColsTypeByValue(java.lang.Object[] value)
createColsTypeByValue 在接口中 DataCentervalue - public static void initExternalDataSource(javax.sql.DataSource datasource,
java.lang.Class<?> clazz)
datasource - clazz - public void setJDBCParam(java.lang.String driver,
java.lang.String url,
java.lang.String user,
java.lang.String password)
driver - url - user - password -