Class PrimaryDbUtils

java.lang.Object
icu.easyj.db.util.PrimaryDbUtils
Direct Known Subclasses:
DbUtils

public abstract class PrimaryDbUtils extends Object
主要数据库工具类

获取数据库的一些信息:类型、版本、时间、序列值...等等

Author:
wangliang181230
See Also:
  • Constructor Details

    • PrimaryDbUtils

      public PrimaryDbUtils()
  • Method Details

    • getDbType

      @NonNull public static String getDbType()
      获取主要数据源对应数据库的类型
      Returns:
      主要数据源对应的数据库类型
    • getDbVersion

      @NonNull public static String getDbVersion()
      获取主要数据源对应数据库的版本号
      Returns:
      主要数据源对应的数据库版本号
    • currentTimeMillis

      @NonNull public static long currentTimeMillis()
      获取数据库当前时间戳

      注意:与DbClockUtils的实现不同,DbClockUtils是基于记号时钟来快速计算出数据库的当前时间的。

      Returns:
      数据库当前时间戳
    • now

      @NonNull public static Date now()
      获取数据库当前时间

      注意:与DbClockUtils的实现不同,DbClockUtils是基于记号时钟来快速计算出数据库的当前时间的。

      Returns:
      数据库当前时间
    • seqCurrVal

      public static long seqCurrVal(String seqName)
      获取当前序列值

      MySQL支持度较高 FIXME: Oracle存在连接池中的连接第一次调用时,会抛异常,此时会自动调用seqNextVal方法代替,但会导致序列+1。 其他数据库暂不支持。

      Parameters:
      seqName - 序列名
      Returns:
      当前序列值
      Throws:
      icu.easyj.core.exception.NotSupportedException - 部分实现无法设置序列值,将抛出该异常
    • seqNextVal

      public static long seqNextVal(String seqName)
      获取下一序列值
      Parameters:
      seqName - 序列名
      Returns:
      下一序列值
    • seqSetVal

      public static long seqSetVal(String seqName, long newVal)
      设置序列值,并返回原序列值

      FIXME: 除了MySQL数据库(自建表+函数实现)以外,其他数据库暂不支持!

      Parameters:
      seqName - 序列名
      newVal - 新的序列值
      Returns:
      previousVal 前序列值
      Throws:
      icu.easyj.core.exception.NotSupportedException - 部分实现无法设置序列值,将抛出该异常