类 GenericTableMetaDataProvider
- java.lang.Object
- org.springframework.jdbc.core.metadata.GenericTableMetaDataProvider
- 所有已实现的接口:
TableMetaDataProvider
- 直接已知子类:
DerbyTableMetaDataProvider
,HsqlTableMetaDataProvider
,OracleTableMetaDataProvider
,PostgresTableMetaDataProvider
public class GenericTableMetaDataProvider extends Object implements TableMetaDataProvider
A generic implementation of theTableMetaDataProvider
interface which should provide enough features for all supported databases.- 从以下版本开始:
- 2.5
- 作者:
- Thomas Risberg, Juergen Hoeller
构造器概要
构造器 限定符 构造器 说明 protected
GenericTableMetaDataProvider(DatabaseMetaData databaseMetaData)
Constructor used to initialize with provided database meta-data.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 String
catalogNameToUse(String catalogName)
Get the catalog name formatted based on meta-data information.protected String
getDatabaseVersion()
Provide access to version info for subclasses.protected String
getDefaultSchema()
Provide access to default schema for subclasses.protected NativeJdbcExtractor
getNativeJdbcExtractor()
String
getSimpleQueryForGetGeneratedKey(String tableName, String keyColumnName)
Get the simple query to retrieve a generated key.List<TableParameterMetaData>
getTableParameterMetaData()
Get the table parameter meta-data that is currently used.void
initializeWithMetaData(DatabaseMetaData databaseMetaData)
Initialize using the database meta-data provided.void
initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName)
Initialize using provided database meta-data, table and column information.boolean
isGeneratedKeysColumnNameArraySupported()
Does this database support a column name String array for retrieving generated keys:Connection.createStruct(String, Object[])
?boolean
isGetGeneratedKeysSimulated()
Does this database support a simple query to retrieve the generated key when the JDBC 3.0 feature of retrieving generated keys is not supported?boolean
isGetGeneratedKeysSupported()
Does this database support the JDBC 3.0 feature of retrieving generated keys:DatabaseMetaData.supportsGetGeneratedKeys()
?boolean
isStoresLowerCaseIdentifiers()
boolean
isStoresUpperCaseIdentifiers()
boolean
isTableColumnMetaDataUsed()
Are we using the meta-data for the table columns?String
metaDataCatalogNameToUse(String catalogName)
Provide any modification of the catalog name passed in to match the meta-data currently used.String
metaDataSchemaNameToUse(String schemaName)
Provide any modification of the schema name passed in to match the meta-data currently used.String
schemaNameToUse(String schemaName)
Get the schema name formatted based on meta-data information.void
setGeneratedKeysColumnNameArraySupported(boolean generatedKeysColumnNameArraySupported)
void
setGetGeneratedKeysSupported(boolean getGeneratedKeysSupported)
void
setNativeJdbcExtractor(NativeJdbcExtractor nativeJdbcExtractor)
Set theNativeJdbcExtractor
to use to retrieve the native connection if necessaryvoid
setStoresLowerCaseIdentifiers(boolean storesLowerCaseIdentifiers)
void
setStoresUpperCaseIdentifiers(boolean storesUpperCaseIdentifiers)
String
tableNameToUse(String tableName)
Get the table name formatted based on meta-data information.
构造器详细资料
GenericTableMetaDataProvider
protected GenericTableMetaDataProvider(DatabaseMetaData databaseMetaData) throws SQLException
Constructor used to initialize with provided database meta-data.- 参数:
databaseMetaData
- meta-data to be used- 抛出:
SQLException
方法详细资料
setStoresUpperCaseIdentifiers
public void setStoresUpperCaseIdentifiers(boolean storesUpperCaseIdentifiers)
isStoresUpperCaseIdentifiers
public boolean isStoresUpperCaseIdentifiers()
setStoresLowerCaseIdentifiers
public void setStoresLowerCaseIdentifiers(boolean storesLowerCaseIdentifiers)
isStoresLowerCaseIdentifiers
public boolean isStoresLowerCaseIdentifiers()
isTableColumnMetaDataUsed
public boolean isTableColumnMetaDataUsed()
从接口复制的说明:TableMetaDataProvider
Are we using the meta-data for the table columns?
getTableParameterMetaData
public List<TableParameterMetaData> getTableParameterMetaData()
从接口复制的说明:TableMetaDataProvider
Get the table parameter meta-data that is currently used.- 指定者:
getTableParameterMetaData
在接口中TableMetaDataProvider
- 返回:
- List of
TableParameterMetaData
isGetGeneratedKeysSupported
public boolean isGetGeneratedKeysSupported()
从接口复制的说明:TableMetaDataProvider
Does this database support the JDBC 3.0 feature of retrieving generated keys:DatabaseMetaData.supportsGetGeneratedKeys()
?
isGetGeneratedKeysSimulated
public boolean isGetGeneratedKeysSimulated()
从接口复制的说明:TableMetaDataProvider
Does this database support a simple query to retrieve the generated key when the JDBC 3.0 feature of retrieving generated keys is not supported?
getSimpleQueryForGetGeneratedKey
public String getSimpleQueryForGetGeneratedKey(String tableName, String keyColumnName)
从接口复制的说明:TableMetaDataProvider
Get the simple query to retrieve a generated key.
setGetGeneratedKeysSupported
public void setGetGeneratedKeysSupported(boolean getGeneratedKeysSupported)
setGeneratedKeysColumnNameArraySupported
public void setGeneratedKeysColumnNameArraySupported(boolean generatedKeysColumnNameArraySupported)
isGeneratedKeysColumnNameArraySupported
public boolean isGeneratedKeysColumnNameArraySupported()
从接口复制的说明:TableMetaDataProvider
Does this database support a column name String array for retrieving generated keys:Connection.createStruct(String, Object[])
?
setNativeJdbcExtractor
public void setNativeJdbcExtractor(NativeJdbcExtractor nativeJdbcExtractor)
从接口复制的说明:TableMetaDataProvider
Set theNativeJdbcExtractor
to use to retrieve the native connection if necessary
getNativeJdbcExtractor
protected NativeJdbcExtractor getNativeJdbcExtractor()
initializeWithMetaData
public void initializeWithMetaData(DatabaseMetaData databaseMetaData) throws SQLException
从接口复制的说明:TableMetaDataProvider
Initialize using the database meta-data provided.- 指定者:
initializeWithMetaData
在接口中TableMetaDataProvider
- 参数:
databaseMetaData
- used to retrieve database specific information- 抛出:
SQLException
- in case of initialization failure
initializeWithTableColumnMetaData
public void initializeWithTableColumnMetaData(DatabaseMetaData databaseMetaData, String catalogName, String schemaName, String tableName) throws SQLException
从接口复制的说明:TableMetaDataProvider
Initialize using provided database meta-data, table and column information. This initialization can be turned off by specifying that column meta-data should not be used.- 指定者:
initializeWithTableColumnMetaData
在接口中TableMetaDataProvider
- 参数:
databaseMetaData
- used to retrieve database specific informationcatalogName
- name of catalog to use (ornull
if none)schemaName
- name of schema name to use (ornull
if none)tableName
- name of the table- 抛出:
SQLException
- in case of initialization failure
tableNameToUse
public String tableNameToUse(String tableName)
从接口复制的说明:TableMetaDataProvider
Get the table name formatted based on meta-data information. This could include altering the case.- 指定者:
tableNameToUse
在接口中TableMetaDataProvider
catalogNameToUse
public String catalogNameToUse(String catalogName)
从接口复制的说明:TableMetaDataProvider
Get the catalog name formatted based on meta-data information. This could include altering the case.- 指定者:
catalogNameToUse
在接口中TableMetaDataProvider
schemaNameToUse
public String schemaNameToUse(String schemaName)
从接口复制的说明:TableMetaDataProvider
Get the schema name formatted based on meta-data information. This could include altering the case.- 指定者:
schemaNameToUse
在接口中TableMetaDataProvider
metaDataCatalogNameToUse
public String metaDataCatalogNameToUse(String catalogName)
从接口复制的说明:TableMetaDataProvider
Provide any modification of the catalog name passed in to match the meta-data currently used. The returned value will be used for meta-data lookups. This could include altering the case used or providing a base catalog if none is provided.
metaDataSchemaNameToUse
public String metaDataSchemaNameToUse(String schemaName)
从接口复制的说明:TableMetaDataProvider
Provide any modification of the schema name passed in to match the meta-data currently used. The returned value will be used for meta-data lookups. This could include altering the case used or providing a base schema if none is provided.
getDefaultSchema
protected String getDefaultSchema()
Provide access to default schema for subclasses.
getDatabaseVersion
protected String getDatabaseVersion()
Provide access to version info for subclasses.