Class JdbcAccessor

java.lang.Object
org.springframework.jdbc.support.JdbcAccessor
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean
Direct Known Subclasses:
JdbcTemplate

public abstract class JdbcAccessor extends Object implements org.springframework.beans.factory.InitializingBean
Base class for JdbcTemplate and other JDBC-accessing DAO helpers, defining common properties such as DataSource and exception translator.

Not intended to be used directly. See JdbcTemplate.

Since:
28.11.2003
Author:
Juergen Hoeller, Sebastien Deleuze
See Also:
  • Field Details

    • logger

      protected final Log logger
      Logger available to subclasses.
  • Constructor Details

    • JdbcAccessor

      public JdbcAccessor()
  • Method Details

    • setDataSource

      public void setDataSource(@Nullable DataSource dataSource)
      Set the JDBC DataSource to obtain connections from.
    • getDataSource

      @Nullable public DataSource getDataSource()
      Return the DataSource used by this template.
    • obtainDataSource

      protected DataSource obtainDataSource()
      Obtain the DataSource for actual use.
      Returns:
      the DataSource (never null)
      Throws:
      IllegalStateException - in case of no DataSource set
      Since:
      5.0
    • setDatabaseProductName

      public void setDatabaseProductName(String dbName)
      Specify the database product name for the DataSource that this accessor uses. This allows to initialize an SQLErrorCodeSQLExceptionTranslator without obtaining a Connection from the DataSource to get the meta-data.
      Parameters:
      dbName - the database product name that identifies the error codes entry
      See Also:
    • setExceptionTranslator

      public void setExceptionTranslator(SQLExceptionTranslator exceptionTranslator)
      Set the exception translator for this instance.

      If no custom translator is provided, a default SQLErrorCodeSQLExceptionTranslator is used which examines the SQLException's vendor-specific error code.

      See Also:
    • getExceptionTranslator

      public SQLExceptionTranslator getExceptionTranslator()
      Return the exception translator for this instance.

      Creates a default SQLErrorCodeSQLExceptionTranslator for the specified DataSource if none set, or a SQLStateSQLExceptionTranslator in case of no DataSource.

      See Also:
    • setLazyInit

      public void setLazyInit(boolean lazyInit)
      Set whether to lazily initialize the SQLExceptionTranslator for this accessor, on first encounter of an SQLException. Default is "true"; can be switched to "false" for initialization on startup.

      Early initialization just applies if afterPropertiesSet() is called.

      See Also:
    • isLazyInit

      public boolean isLazyInit()
      Return whether to lazily initialize the SQLExceptionTranslator for this accessor.
      See Also:
    • afterPropertiesSet

      public void afterPropertiesSet()
      Eagerly initialize the exception translator, if demanded, creating a default one for the specified DataSource if none set.
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean