org.springframework.jdbc.support

Class JdbcAccessor

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


    public abstract class JdbcAccessor
    extends java.lang.Object
    implements 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
    See Also:
    JdbcTemplate
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      protected Log logger
      Logger available to subclasses.
    • Constructor Summary

      Constructors 
      Constructor and Description
      JdbcAccessor() 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      void afterPropertiesSet()
      Eagerly initialize the exception translator, if demanded, creating a default one for the specified DataSource if none set.
      javax.sql.DataSource getDataSource()
      Return the DataSource used by this template.
      SQLExceptionTranslator getExceptionTranslator()
      Return the exception translator for this instance.
      boolean isLazyInit()
      Return whether to lazily initialize the SQLExceptionTranslator for this accessor.
      protected javax.sql.DataSource obtainDataSource()
      Obtain the DataSource for actual use.
      void setDatabaseProductName(java.lang.String dbName)
      Specify the database product name for the DataSource that this accessor uses.
      void setDataSource(javax.sql.DataSource dataSource)
      Set the JDBC DataSource to obtain connections from.
      void setExceptionTranslator(SQLExceptionTranslator exceptionTranslator)
      Set the exception translator for this instance.
      void setLazyInit(boolean lazyInit)
      Set whether to lazily initialize the SQLExceptionTranslator for this accessor, on first encounter of a SQLException.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

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

      • JdbcAccessor

        public JdbcAccessor()
    • Method Detail

      • setDataSource

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

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

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

        public void setDatabaseProductName(java.lang.String dbName)
        Specify the database product name for the DataSource that this accessor uses. This allows to initialize a 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:
        SQLErrorCodeSQLExceptionTranslator.setDatabaseProductName(java.lang.String), DatabaseMetaData.getDatabaseProductName()
      • setLazyInit

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

        Early initialization just applies if afterPropertiesSet() is called.

        See Also:
        getExceptionTranslator(), afterPropertiesSet()
      • isLazyInit

        public boolean isLazyInit()
        Return whether to lazily initialize the SQLExceptionTranslator for this accessor.
        See Also:
        getExceptionTranslator()
      • 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 InitializingBean