Class JdbcDaoSupport
java.lang.Object
org.springframework.dao.support.DaoSupport
org.springframework.jdbc.core.support.JdbcDaoSupport
- All Implemented Interfaces:
InitializingBean
- Direct Known Subclasses:
NamedParameterJdbcDaoSupport
Convenient superclass for JDBC-based data access objects.
Requires a DataSource
to be set, providing a
JdbcTemplate
based on it to
subclasses through the getJdbcTemplate()
method.
This base class is mainly intended for JdbcTemplate usage but can
also be used when working with a Connection directly or when using
org.springframework.jdbc.object
operation objects.
- Since:
- 28.07.2003
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.dao.support.DaoSupport
logger
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
Abstract subclasses must override this to check their configuration.protected JdbcTemplate
createJdbcTemplate
(DataSource dataSource) Create a JdbcTemplate for the given DataSource.protected final Connection
Get a JDBC Connection, either from the current transaction or a new one.final DataSource
Return the JDBC DataSource used by this DAO.protected final SQLExceptionTranslator
Return the SQLExceptionTranslator of this DAO's JdbcTemplate, for translating SQLExceptions in custom JDBC access code.final JdbcTemplate
Return the JdbcTemplate for this DAO, pre-initialized with the DataSource or set explicitly.protected void
Initialize the template-based configuration of this DAO.protected final void
Close the given JDBC Connection, created via this DAO's DataSource, if it isn't bound to the thread.final void
setDataSource
(DataSource dataSource) Set the JDBC DataSource to be used by this DAO.final void
setJdbcTemplate
(JdbcTemplate jdbcTemplate) Set the JdbcTemplate for this DAO explicitly, as an alternative to specifying a DataSource.Methods inherited from class org.springframework.dao.support.DaoSupport
afterPropertiesSet, initDao
-
Constructor Details
-
JdbcDaoSupport
public JdbcDaoSupport()
-
-
Method Details
-
setDataSource
Set the JDBC DataSource to be used by this DAO. -
createJdbcTemplate
Create a JdbcTemplate for the given DataSource. Only invoked if populating the DAO with a DataSource reference!Can be overridden in subclasses to provide a JdbcTemplate instance with different configuration, or a custom JdbcTemplate subclass.
- Parameters:
dataSource
- the JDBC DataSource to create a JdbcTemplate for- Returns:
- the new JdbcTemplate instance
- See Also:
-
getDataSource
Return the JDBC DataSource used by this DAO. -
setJdbcTemplate
Set the JdbcTemplate for this DAO explicitly, as an alternative to specifying a DataSource. -
getJdbcTemplate
Return the JdbcTemplate for this DAO, pre-initialized with the DataSource or set explicitly. -
initTemplateConfig
protected void initTemplateConfig()Initialize the template-based configuration of this DAO. Called after a new JdbcTemplate has been set, either directly or through a DataSource.This implementation is empty. Subclasses may override this to configure further objects based on the JdbcTemplate.
- See Also:
-
checkDaoConfig
protected void checkDaoConfig()Description copied from class:DaoSupport
Abstract subclasses must override this to check their configuration.Implementors should be marked as
final
if concrete subclasses are not supposed to override this template method themselves.- Specified by:
checkDaoConfig
in classDaoSupport
-
getExceptionTranslator
Return the SQLExceptionTranslator of this DAO's JdbcTemplate, for translating SQLExceptions in custom JDBC access code.- See Also:
-
getConnection
Get a JDBC Connection, either from the current transaction or a new one.- Returns:
- the JDBC Connection
- Throws:
CannotGetJdbcConnectionException
- if the attempt to get a Connection failed- See Also:
-
releaseConnection
Close the given JDBC Connection, created via this DAO's DataSource, if it isn't bound to the thread.- Parameters:
con
- the Connection to close- See Also:
-