接口 DatabaseMetaEngine
- 所有已知实现类:
AbstractDatabaseMetaEngine,DamengMetaEngine,MySQLMetaEngine,OracleMetaEngine,PostgresMetaEngine,SqlserverMetaEngine
public interface DatabaseMetaEngine
数据库元数据引擎定义,仅获取数据库的元数据相关信息,与系统没有关系。
该对象为全局对象,通常创建单例使用。一个系统中可以创建多个,如:MySQL引擎、Oracle引擎等。
在数据采集系统中会存在许多数据源,因此建议实现类中增加数据连接的缓存器来管理这些链接。
- 作者:
- shikeying
-
方法概要
修饰符和类型方法说明voidcreateTableDynamic(Address address, List<Map<String, Object>> datas, String dataVersionField, String tableName) 动态创建表结果,可能是关系数据库,也可能是NoSQL数据库类型。voiddestroy()使用完该对象,必须调用该方法销毁返回表中所有字段集合getFieldsObject(Address address, String tableName) 返回表中字段对象集合getTableNamesByLike(Address address, String tableNameLike) longgetTableRow(Address address, String tableName) 返回给定的表当前记录数getTableRows(Address address, List<String> tableNameList) 返回给定表集合中,每个表的概要数据量(行数)。intgetTableSize(Address address) 返回该地址数据库中存在的表数量void初始化,创建该对象后必须首先调用该方法。loadTableDatas(Address address, String tableName, String sql) queryPageTableNamesByLike(Address address, String tableNameLike) 分页查询给定名字前缀的表集合(只包含表名)voidsetConnector(DatabaseConnector connector) 直接设置连接器对象,不再调用方法:initialize()
-
方法详细资料
-
getFieldsObject
返回表中字段对象集合- 参数:
address-tableName-- 返回:
-
getFields
返回表中所有字段集合- 参数:
address- 连接的数据库地址tableName- 查询的表名- 返回:
-
getTableSize
返回该地址数据库中存在的表数量- 参数:
address-- 返回:
-
getTableRows
返回给定表集合中,每个表的概要数据量(行数)。
该数据是从数据库元数据表中查询的值,只是一个参考结果。- 参数:
address-tableNameList-- 返回:
- map<tableName, rows>
-
getTableRow
返回给定的表当前记录数- 参数:
address-tableName-- 返回:
-
loadTableDatas
-
getTableNamesByLike
-
queryPageTableNamesByLike
分页查询给定名字前缀的表集合(只包含表名)- 参数:
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
直接设置连接器对象,不再调用方法:initialize()- 参数:
connector-
-
getConnector
DatabaseConnector getConnector()
-