# Package org.springframework.jdbc.support

Support classes for the JDBC framework, used by the classes in the jdbc.core and jdbc.object packages.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  DatabaseMetaDataCallback | A callback interface used by the JdbcUtils class.
  KeyHolder | Interface for retrieving keys, typically used for auto-generated keys as potentially returned by JDBC insert statements.
  SQLExceptionTranslator | Strategy interface for translating between `SQLExceptions` and Spring's data access strategy-agnostic `DataAccessException` hierarchy.
  SqlValue | Simple interface for complex types to be set as statement parameters.

- Class Summary
  Class | Description
  --- | ---
  AbstractFallbackSQLExceptionTranslator | Base class for `SQLExceptionTranslator` implementations that allow for fallback to some other `SQLExceptionTranslator`.
  CustomSQLErrorCodesTranslation | JavaBean for holding custom JDBC error codes translation for a particular database.
  CustomSQLExceptionTranslatorRegistrar | Registry for registering custom `SQLExceptionTranslator` instances for specific databases.
  CustomSQLExceptionTranslatorRegistry | Registry for custom `SQLExceptionTranslator` instances associated with specific databases allowing for overriding translation based on values contained in the configuration file named "sql-error-codes.xml".
  DatabaseStartupValidator | Bean that checks if a database has already started up.
  GeneratedKeyHolder | Default implementation of the `KeyHolder` interface, to be used for holding auto-generated keys (as potentially returned by JDBC insert statements).
  JdbcAccessor | Base class for `JdbcTemplate` and other JDBC-accessing DAO helpers, defining common properties such as DataSource and exception translator.
  JdbcUtils | Generic utility methods for working with JDBC.
  SQLErrorCodes | JavaBean for holding JDBC error codes for a particular database.
  SQLErrorCodesFactory | Factory for creating `SQLErrorCodes` based on the "databaseProductName" taken from the `DatabaseMetaData`.
  SQLErrorCodeSQLExceptionTranslator | Implementation of `SQLExceptionTranslator` that analyzes vendor-specific error codes.
  SQLExceptionSubclassTranslator | `SQLExceptionTranslator` implementation which analyzes the specific `SQLException` subclass thrown by the JDBC driver.
  SQLStateSQLExceptionTranslator | `SQLExceptionTranslator` implementation that analyzes the SQL state in the `SQLException` based on the first two digits (the SQL state "class").

- Exception Summary
  Exception | Description
  --- | ---
  MetaDataAccessException | Exception indicating that something went wrong during JDBC metadata lookup.

## Package org.springframework.jdbc.support Description

Support classes for the JDBC framework, used by the classes in the jdbc.core and jdbc.object packages. Provides a translator from SQLExceptions Spring's generic DataAccessExceptions.

Can be used independently, for example in custom JDBC access code, or in JDBC-based O/R mapping layers.