接口 DatabaseMetaEngine

所有已知实现类:
AbstractDatabaseMetaEngine, DamengMetaEngine, MySQLMetaEngine, OracleMetaEngine, PostgresMetaEngine, SqlserverMetaEngine

public interface DatabaseMetaEngine
数据库元数据引擎定义,仅获取数据库的元数据相关信息,与系统没有关系。

该对象为全局对象,通常创建单例使用。一个系统中可以创建多个,如:MySQL引擎、Oracle引擎等。

在数据采集系统中会存在许多数据源,因此建议实现类中增加数据连接的缓存器来管理这些链接。
作者:
shikeying
  • 方法详细资料

    • getFieldsObject

      List<FieldInfo> getFieldsObject(Address address, String tableName)
      返回表中字段对象集合
      参数:
      address -
      tableName -
      返回:
    • getFields

      List<String> getFields(Address address, String tableName)
      返回表中所有字段集合
      参数:
      address - 连接的数据库地址
      tableName - 查询的表名
      返回:
    • getTableSize

      int getTableSize(Address address)
      返回该地址数据库中存在的表数量
      参数:
      address -
      返回:
    • getTableRows

      Map<String,TableInfo> getTableRows(Address address, List<String> tableNameList)
      返回给定表集合中,每个表的概要数据量(行数)。
      该数据是从数据库元数据表中查询的值,只是一个参考结果。
      参数:
      address -
      tableNameList -
      返回:
      map<tableName, rows>
    • getTableRow

      long getTableRow(Address address, String tableName)
      返回给定的表当前记录数
      参数:
      address -
      tableName -
      返回:
    • loadTableDatas

      List<Map<String,Object>> loadTableDatas(Address address, String tableName, String sql)
    • getTableNamesByLike

      List<String> getTableNamesByLike(Address address, String tableNameLike)
    • queryPageTableNamesByLike

      GenericPager<TableInfo> queryPageTableNamesByLike(Address address, String tableNameLike)
      分页查询给定名字前缀的表集合(只包含表名)
      参数:
      address -
      tableNameLike -
      返回:
    • initialize

      void initialize()
      初始化,创建该对象后必须首先调用该方法。
    • destroy

      void destroy()
      使用完该对象,必须调用该方法销毁
    • createTableDynamic

      void createTableDynamic(Address address, List<Map<String,Object>> datas, String dataVersionField, String tableName) throws DatabaseException
      动态创建表结果,可能是关系数据库,也可能是NoSQL数据库类型。

      给定一个数据集合,从中分析数据类型,生成简单的存储表。
      因为这个是在数据采集时使用,所以目前仅支持三种数据类型:string|long|double
      参数:
      address - 目的地址
      datas - 给定的数据集合
      dataVersionField - 数据版本字段名称,该字段用来增量采集数据对比,通常是数值类型。
      tableName - 要创建的表名称
      抛出:
      DatabaseException - 创建失败,抛出异常
    • setConnector

      void setConnector(DatabaseConnector connector)
      直接设置连接器对象,不再调用方法:initialize()
      参数:
      connector -
    • getConnector

      DatabaseConnector getConnector()