public class SchemaMetadataManager extends Object implements MetadataManager
| 限定符和类型 | 字段和说明 |
|---|---|
protected String |
dbName |
protected String |
defaultCatalog
默认目录
|
protected String |
defaultSchema
默认模式
|
protected ConnectionSource |
ds
数据连接源
|
protected TableDesc |
NOT_EXIST
给定一个默认不存在的表的描述
|
protected DBStyle |
style
对应数据库供应商
|
protected ThreadSafeCaseInsensitiveHashMap |
tableInfoMap
表名与表描述信息存储
<String,Object> |
| 构造器和说明 |
|---|
SchemaMetadataManager(ConnectionSource ds,
DBStyle style) |
SchemaMetadataManager(ConnectionSource ds,
String defaultSchema,
String defaultCatalog,
DBStyle style) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addTableVirtual(String realTable,
String virtual)
增加一个虚拟表对应
|
Set<String> |
allTable()
所有表的名称集合
|
protected void |
close(Connection conn) |
protected TableDesc |
copyVirtualTable(String virtualName,
TableDesc desc) |
boolean |
existTable(String tableName)
表是否在数据库中
|
protected String |
getDbSchema(DatabaseMetaData dbmd,
String namespace) |
protected String |
getDbSchema(String namespace) |
protected String[] |
getScope(String catalog,
String schema)
需要查看的元信息,包含表和视图
|
TableDesc |
getTable(String name)
获取对应表描述信息
|
protected TableDesc |
getTableFromMap(String tableName) |
protected String |
getTableNamePattern(DatabaseMetaData meta) |
Map<String,String> |
getTableVirtual()
真表和假表
|
protected void |
initDefaultSchema() |
protected TableDesc |
initOtherSchemaTable(String tablePrefix,
String table)
对于"xxx.yy"这种表名解析
|
protected void |
moreInfo(TableDesc tableDesc)
对表定义进行修改
|
void |
refresh()
非线程安全,只能开发模式下使用,比如在线代码生成
|
protected void |
setDBDefaultSchema(Connection conn)
jdbc驱动不支持获取schema情况下,猜一下。
|
protected void |
setSchemaAndCatalogByConnection(Connection conn)
通过Conn来获取schema和catalog
|
protected ConnectionSource ds
protected ThreadSafeCaseInsensitiveHashMap tableInfoMap
<String,Object>protected TableDesc NOT_EXIST
protected DBStyle style
protected String defaultSchema
protected String defaultCatalog
protected String dbName
public SchemaMetadataManager(ConnectionSource ds, DBStyle style)
public SchemaMetadataManager(ConnectionSource ds, String defaultSchema, String defaultCatalog, DBStyle style)
public boolean existTable(String tableName)
existTable 在接口中 MetadataManagertableName - public TableDesc getTable(String name)
MetadataManagergetTable 在接口中 MetadataManagerpublic Set<String> allTable()
MetadataManagerallTable 在接口中 MetadataManagerpublic void refresh()
refresh 在接口中 MetadataManagerprotected TableDesc initOtherSchemaTable(String tablePrefix, String table)
tablePrefix - table - protected void close(Connection conn)
protected void initDefaultSchema()
protected void setSchemaAndCatalogByConnection(Connection conn) throws SQLException
conn - SQLExceptionprotected void setDBDefaultSchema(Connection conn) throws SQLException
conn - SQLExceptionDBStyle.getDefaultSchema()protected String getDbSchema(DatabaseMetaData dbmd, String namespace)
namespace - protected void moreInfo(TableDesc tableDesc)
tableDesc - SchemaLessMetaDataManagerprotected String getTableNamePattern(DatabaseMetaData meta) throws SQLException
SQLExceptionpublic void addTableVirtual(String realTable, String virtual)
MetadataManageraddTableVirtual 在接口中 MetadataManagerCopyright © 2022. All rights reserved.