程序包 gu.sql2java

类 BaseEmbeddedInitializer

java.lang.Object
gu.sql2java.BaseEmbeddedInitializer
所有已实现的接口:
Closeable, AutoCloseable
直接已知子类:
DerbyInitializer, SqliteInitializer

public abstract class BaseEmbeddedInitializer extends Object implements Closeable
嵌入式数据库初始化管理对象基类
作者:
guyadong
  • 字段详细资料

    • runInMemory

      protected final boolean runInMemory
    • backupIntervalSeconds

      protected int backupIntervalSeconds
    • dbroot

      protected final File dbroot
      数据库所在的文件夹
    • db

      protected final File db
      数据库位置(文件或文件夹)
    • dbprops

      protected final Properties dbprops
  • 构造器详细资料

    • BaseEmbeddedInitializer

      protected BaseEmbeddedInitializer(File db, URL createSql, boolean runInMemory)
      构造方法
      参数:
      db - 数据库位置
      createSql - 数据库建表语句SQL文件位置,数据库存在时可为null,当数据库文件不存在时就用到.
      runInMemory -
  • 方法详细资料

    • doPersist

      protected abstract void doPersist()
      将数据库回写到磁盘指定的目录
    • writeDbProps

      protected abstract void writeDbProps(Properties dbprops)
      写入数据连接参数
      参数:
      dbprops -
    • checkExistsDatabse

      protected abstract void checkExistsDatabse(File db) throws EmbeddedInitException
      检查已经存在的数据库是否可用,不可用抛出EmbeddedInitException异常
      参数:
      db - 数据库位置
      抛出:
      EmbeddedInitException - 初始化异常
    • doInitMemory

      protected void doInitMemory()
      子类可重写此方法实现内存运行时从磁盘文件恢复数据到内存
    • normalize

      protected ScriptRunner normalize(ScriptRunner runner)
      子类可重写此方法执行对SQL语句的归一化处理
      参数:
      runner -
      返回:
      always runner
    • afterCreateTable

      protected List<String> afterCreateTable(ScriptRunner runner) throws SQLException
      子类可重写此方法返回需要附加执行的SQL语句(每行一条语句),如果没有返回空表,不可返回null
      参数:
      runner -
      抛出:
      SQLException
    • init

      初始化数据库
      返回:
      当前对象
      抛出:
      EmbeddedInitException
    • close

      public void close()
      指定者:
      close 在接口中 AutoCloseable
      指定者:
      close 在接口中 Closeable
    • getBackuphookContainer

      public InterfaceContainer<BackupHook> getBackuphookContainer()
    • getBackupIntervalSeconds

      public int getBackupIntervalSeconds()
      返回:
      备份间隔时间(秒)
    • setBackupIntervalSeconds

      public BaseEmbeddedInitializer setBackupIntervalSeconds(int backupIntervalSeconds)
      设置备份间隔时间(秒)
      参数:
      backupIntervalSeconds - 小于等于0忽略
      返回:
      当前对象
    • addProperties

      public BaseEmbeddedInitializer addProperties(Properties properties)
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object
    • equals

      public boolean equals(Object obj)
      覆盖:
      equals 在类中 Object
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • init

      protected static <T extends BaseEmbeddedInitializer> T init(Class<T> target, File db, URL createSql, boolean runInMemory, Properties properties)
      数据库初始化
      反射方式实现构造子类对象并执行初始化(init()),如果之前已经创建过db指定的数据库实例,则返回已经创建的实例
      参数:
      target - 要构造的子类
      db - 数据文件位置
      createSql - 数据库建表语句(SQL)位置
      runInMemory - 为true以内存方式运行
      properties - 附加的配置参数
      返回:
      T instance
    • init

      protected static <T extends BaseEmbeddedInitializer> T init(Class<T> target, String db, String createSqlURL, boolean runInMemory, Properties properties)
      数据库初始化
      参数:
      db - 数据文件位置(File)
      createSqlURL - 数据库建表语句(SQL)位置(URL)
      runInMemory - 为true以内存方式运行
      properties - 附加的配置参数
      返回:
      T instance