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, updateObject
public 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
在接口中 DataCenter
public java.lang.String getParam(java.lang.String key, java.lang.String defaultValue)
getParam
在接口中 DataCenter
public boolean isExecute()
isExecute
在接口中 DataCenter
public boolean isTooLongIdle(long idleTimeout)
isTooLongIdle
在接口中 DataCenter
idleTimeout
- 空闲超时时长public long getIdleTime()
getIdleTime
在接口中 DataCenter
public java.lang.String getLastExecuteSql()
getLastExecuteSql
在接口中 DataCenter
public 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
在接口中 DataCenter
delay
- 间隔时间,单独产:毫秒flag
- 状态标识,用于业务判断public void setCheckTimerSchedule(long delay, boolean forceDisconnect)
DataCenter
setCheckTimerSchedule
在接口中 DataCenter
delay
- 间隔时间,单独产:毫秒public void setCheckTimerSchedule(long delay, java.lang.String flag, boolean forceDisconnect)
setCheckTimerSchedule
在接口中 DataCenter
delay
- 间隔时间,单独产:毫秒flag
- 状态标识,用于业务判断forceDisconnect
- 到达时间后是否强制关闭,默认:falsepublic java.lang.Exception getLastException()
getLastException
在接口中 DataCenter
public boolean setConnection(java.sql.Connection conn)
setConnection
在接口中 DataCenter
conn
- JDBC连接
注意:1)如果已经获取连接再次调用时,必须disconnect后再设置,否则无效
2)通过setConnection设置连接时,不需要调用connect方法public java.sql.Connection getConnection()
getConnection
在接口中 DataCenter
public void setAutoGetGeneratedKey(boolean getGeneratedKeys)
setAutoGetGeneratedKey
在接口中 DataCenter
getGeneratedKeys
- booleanpublic int getAutoGeneratedKey()
getAutoGeneratedKey
在接口中 DataCenter
public java.lang.String getAutoGeneratedKeyStr()
DataCenter
getAutoGeneratedKeyStr
在接口中 DataCenter
public boolean hasConnected()
hasConnected
在接口中 DataCenter
public void setConnectState(boolean isConnected)
isConnected
- booleanpublic boolean isValid(int timeout) throws java.lang.Exception
isValid
在接口中 DataCenter
timeout
- 指定等待验证连接的秒数java.lang.Exception
- Exceptionpublic boolean isValid()
isValid
在接口中 DataCenter
public boolean checkValidAndReset()
checkValidAndReset
在接口中 DataCenter
public boolean isClosed() throws java.lang.Exception
isClosed
在接口中 DataCenter
java.lang.Exception
- Exceptionpublic void setQueryTimeout(int queryTimeout)
setQueryTimeout
在接口中 DataCenter
queryTimeout
- 超时时长 单位:秒public int getQueryTimeout()
getQueryTimeout
在接口中 DataCenter
public void setWriteEnable(boolean enable)
setWriteEnable
在接口中 DataCenter
enable
- true|falsepublic boolean getWriteEnable()
getWriteEnable
在接口中 DataCenter
public void setInitClassInfo(java.lang.String initClassInfo)
setInitClassInfo
在接口中 DataCenter
initClassInfo
- 实例化类信息描述public java.lang.String getClassInfo()
public java.lang.String getDcType()
public java.lang.String printLog()
printLog
在接口中 DataCenter
public java.lang.String printLog(org.apache.logging.log4j.Logger log4j)
printLog
在接口中 DataCenter
public java.lang.String printLog(org.slf4j.Logger log)
printLog
在接口中 DataCenter
public java.lang.String printLog(org.apache.logging.log4j.Logger log4j, java.lang.String prefix)
printLog
在接口中 DataCenter
public 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
在接口中 DataCenter
public java.lang.String[] addBatch(java.lang.String key, java.lang.Object[] obj)
addBatch
在接口中 DataCenter
key
- 操作序列号,通过beginBatchUpdateByParams获取obj
- 参数值public java.lang.String[] refreshBatchUpdate(java.lang.String key)
refreshBatchUpdate
在接口中 DataCenter
key
- 操作序列号,通过beginBatchUpdateByParams获取public java.lang.String[] endBatchUpdateByParams(java.lang.String key)
endBatchUpdateByParams
在接口中 DataCenter
key
- 操作序列号,通过beginBatchUpdateByParams获取public java.lang.String[] endBatchUpdateByParams(java.lang.String key, boolean commit)
endBatchUpdateByParams
在接口中 DataCenter
key
- 操作序列号,通过beginBatchUpdateByParams获取commit
- 自动提交事务,true|false,默认:falsepublic Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.Object> objList)
retrieveByParams2
在接口中 DataCenter
public Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.Object> objList, boolean isCache)
retrieveByParams2
在接口中 DataCenter
public Datastore retrieveByParams2(java.lang.String sql, java.util.List<java.lang.String> colsTypeList, java.util.List<java.lang.Object> objList)
DataCenter
retrieveByParams2
在接口中 DataCenter
sql
- 查询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
在接口中 DataCenter
sql
- 查询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
在接口中 DataCenter
sql
- 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
在接口中 DataCenter
sql
- 更改数据库数据的语句colsTypeList
- 参数类型objList
- 参数值数组commit
- 是否提交public void checkAndInitCache()
public DSCacheRedis getDsCacheRedis()
DataCenter
getDsCacheRedis
在接口中 DataCenter
public 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)
DataCenter
setUpdateSilence
在接口中 DataCenter
isUpdateSilence
- 开头public java.lang.String[] replaceObject(java.lang.Object obj, boolean commit)
replaceObject
在接口中 DataCenter
public SqlUpdateBuilder createUpdateBuilder()
createUpdateBuilder
在接口中 DataCenter
public SqlBuilder createQueryBuilder()
createQueryBuilder
在接口中 DataCenter
public java.lang.String[] createColsTypeByValue(java.lang.Object[] value)
createColsTypeByValue
在接口中 DataCenter
value
- 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
-