Spring Framework

org.springframework.jdbc.core.support
Class JdbcBeanDefinitionReader

java.lang.Object
  extended by org.springframework.jdbc.core.support.JdbcBeanDefinitionReader

public class JdbcBeanDefinitionReader
extends java.lang.Object

Bean definition reader that reads values from a database table, based on a given SQL statement.

Expects columns for bean name, property name and value as String. Formats for each are identical to the properties format recognized by PropertiesBeanDefinitionReader.

NOTE: This is mainly intended as an example for a custom JDBC-based bean definition reader. It does not aim to offer comprehensive functionality.

Author:
Rod Johnson, Juergen Hoeller
See Also:
loadBeanDefinitions(java.lang.String), PropertiesBeanDefinitionReader

Constructor Summary
JdbcBeanDefinitionReader(BeanDefinitionRegistry beanFactory)
          Create a new JdbcBeanDefinitionReader for the given bean factory, using a default PropertiesBeanDefinitionReader underneath.
JdbcBeanDefinitionReader(PropertiesBeanDefinitionReader beanDefinitionReader)
          Create a new JdbcBeanDefinitionReader that delegates to the given PropertiesBeanDefinitionReader underneath.
 
Method Summary
 void loadBeanDefinitions(java.lang.String sql)
          Load bean definitions from the database via the given SQL string.
 void setDataSource(javax.sql.DataSource dataSource)
          Set the DataSource to use to obtain database connections.
 void setJdbcTemplate(JdbcTemplate jdbcTemplate)
          Set the JdbcTemplate to be used by this bean factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JdbcBeanDefinitionReader

public JdbcBeanDefinitionReader(BeanDefinitionRegistry beanFactory)
Create a new JdbcBeanDefinitionReader for the given bean factory, using a default PropertiesBeanDefinitionReader underneath.

DataSource or JdbcTemplate still need to be set.

See Also:
setDataSource(javax.sql.DataSource), setJdbcTemplate(org.springframework.jdbc.core.JdbcTemplate)

JdbcBeanDefinitionReader

public JdbcBeanDefinitionReader(PropertiesBeanDefinitionReader beanDefinitionReader)
Create a new JdbcBeanDefinitionReader that delegates to the given PropertiesBeanDefinitionReader underneath.

DataSource or JdbcTemplate still need to be set.

See Also:
setDataSource(javax.sql.DataSource), setJdbcTemplate(org.springframework.jdbc.core.JdbcTemplate)
Method Detail

setDataSource

public void setDataSource(javax.sql.DataSource dataSource)
Set the DataSource to use to obtain database connections. Will implicitly create a new JdbcTemplate with the given DataSource.


setJdbcTemplate

public void setJdbcTemplate(JdbcTemplate jdbcTemplate)
Set the JdbcTemplate to be used by this bean factory. Contains settings for DataSource, SQLExceptionTranslator, NativeJdbcExtractor, etc.


loadBeanDefinitions

public void loadBeanDefinitions(java.lang.String sql)
Load bean definitions from the database via the given SQL string.

Parameters:
sql - SQL query to use for loading bean definitions. The first three columns must be bean name, property name and value. Any join and any other columns are permitted: e.g. SELECT BEAN_NAME, PROPERTY, VALUE FROM CONFIG WHERE CONFIG.APP_ID = 1 It's also possible to perform a join. Column names are not significant -- only the ordering of these first three columns.

Spring Framework