Package icu.easyj.db.util
Class DbUtils
java.lang.Object
icu.easyj.db.util.PrimaryDbUtils
icu.easyj.db.util.DbUtils
数据库工具类
获取数据库的一些信息:类型、版本、时间、序列值...等等
- Author:
- wangliang181230
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic longcurrentTimeMillis(DataSource dataSource) 获取数据库当前时间戳static StringgetDbType(DataSource dataSource) 从数据源中获取数据库类型
值域:mysql、oracle、ms_sql_server、...(TODO: 其他数据库待补充)static StringgetDbVersion(DataSource dataSource) 获取数据库版本号static Datenow(DataSource dataSource) 获取数据库当前时间static longseqCurrVal(DataSource dataSource, String seqName) 获取当前序列值static longseqNextVal(DataSource dataSource, String seqName) 获取下一序列值static longseqSetVal(DataSource dataSource, String seqName, long newVal) 设置序列值,并返回原序列值Methods inherited from class icu.easyj.db.util.PrimaryDbUtils
currentTimeMillis, getDbType, getDbVersion, now, seqCurrVal, seqNextVal, seqSetVal
-
Constructor Details
-
DbUtils
public DbUtils()
-
-
Method Details
-
getDbType
从数据源中获取数据库类型
值域:mysql、oracle、ms_sql_server、...(TODO: 其他数据库待补充)- Parameters:
dataSource- 数据源- Returns:
- 数据库类型(全部转为小写字母)
-
getDbVersion
获取数据库版本号- Parameters:
dataSource- 数据源- Returns:
- 数据库版本号
-
currentTimeMillis
获取数据库当前时间戳注意:与DbClockUtils的实现不同,DbClockUtils是基于记号时钟来快速计算出数据库的当前时间的。
- Parameters:
dataSource- 数据源- Returns:
- 数据库当前时间戳
-
now
获取数据库当前时间注意:与DbClockUtils的实现不同,DbClockUtils是基于记号时钟来快速计算出数据库的当前时间的。
- Parameters:
dataSource- 数据源- Returns:
- 数据库当前时间
-
seqCurrVal
获取当前序列值MySQL支持度较高 FIXME: Oracle存在连接池中的连接第一次调用时,会抛异常,此时会自动调用seqNextVal方法代替,但会导致序列+1。 其他数据库暂不支持。
- Parameters:
dataSource- 数据源seqName- 序列名- Returns:
- 当前序列值
- Throws:
icu.easyj.core.exception.NotSupportedException- 部分实现无法设置序列值,将抛出该异常
-
seqNextVal
获取下一序列值- Parameters:
dataSource- 数据源seqName- 序列名- Returns:
- 下一序列值
-
seqSetVal
设置序列值,并返回原序列值FIXME: 除了MySQL数据库(自建表+函数实现)以外,其他数据库暂不支持!
- Parameters:
dataSource- 数据源seqName- 序列名newVal- 新的序列值- Returns:
- previousVal 前序列值
- Throws:
icu.easyj.core.exception.NotSupportedException- 部分实现无法设置序列值,将抛出该异常
-