Top Description Fields Constructors Methods
org.springframework.jdbc.datasource

public Class SimpleDriverDataSource

extends AbstractDriverBasedDataSource
Class Inheritance
Imports
java.sql.Connection, .Driver, .SQLException, java.util.Properties, org.springframework.beans.BeanUtils, org.springframework.lang.Nullable, org.springframework.util.Assert

Simple implementation of the standard JDBC javax.sql.DataSource interface, configuring a plain old JDBC java.sql.Driver via bean properties, and returning a new java.sql.Connection from every getConnection call.

NOTE: This class is not an actual connection pool; it does not actually pool Connections. It just serves as simple replacement for a full-blown connection pool, implementing the same standard interface, but creating new Connections on every call.

In a Jakarta EE container, it is recommended to use a JNDI DataSource provided by the container. Such a DataSource can be exposed as a DataSource bean in a Spring ApplicationContext via org.springframework.jndi.JndiObjectFactoryBean, for seamless switching to and from a local DataSource bean like this class.

This SimpleDriverDataSource class was originally designed alongside Apache Commons DBCP and C3P0, featuring bean-style BasicDataSource/ComboPooledDataSource classes with configuration properties for local resource setups. For a modern JDBC connection pool, consider HikariCP instead, exposing a corresponding HikariDataSource instance to the application.

Author
Juergen Hoeller
Since
2.5.5
See Also
DriverManagerDataSource

Field Summary

Modifier and TypeField and Description
private Driver

Constructor Summary

AccessConstructor and Description
public
SimpleDriverDataSource()

Constructor for bean-style configuration.

public
SimpleDriverDataSource(Driver
the JDBC Driver object
driver
,
String
the JDBC URL to use for accessing the DriverManager
url
)

Create a new DriverManagerDataSource with the given standard Driver parameters.

public
SimpleDriverDataSource(Driver
the JDBC Driver object
driver
,
String
the JDBC URL to use for accessing the DriverManager
url
,
String
the JDBC username to use for accessing the DriverManager
username
,
String
the JDBC password to use for accessing the DriverManager
password
)

Create a new DriverManagerDataSource with the given standard Driver parameters.

public
SimpleDriverDataSource(Driver
the JDBC Driver object
driver
,
String
the JDBC URL to use for accessing the DriverManager
url
,
Properties
the JDBC connection properties
conProps
)

Create a new DriverManagerDataSource with the given standard Driver parameters.

Method Summary

Modifier and TypeMethod and Description
protected Connection
getConnectionFromDriver(Properties
the merged connection properties
props
)

Implements abstract org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver.

Obtain a Connection using the given properties.
public Driver
getDriver()

Return the JDBC Driver instance to use.

public void
setDriver(Driver driver)

Specify the JDBC Driver instance to use.

public void
setDriverClass(Class<? extends Driver> driverClass)

Specify the JDBC Driver implementation class to use.

Inherited from org.springframework.jdbc.datasource.AbstractDriverBasedDataSource:
getCataloggetConnectiongetConnectiongetConnectionFromDrivergetConnectionPropertiesgetPasswordgetSchemagetUrlgetUsernamesetCatalogsetConnectionPropertiessetPasswordsetSchemasetUrlsetUsername

Field Detail

driverback to summary
private Driver driver
Annotations
@Nullable

Constructor Detail

SimpleDriverDataSourceback to summary
public SimpleDriverDataSource()

Constructor for bean-style configuration.

SimpleDriverDataSourceback to summary
public SimpleDriverDataSource(Driver driver, String url)

Create a new DriverManagerDataSource with the given standard Driver parameters.

Parameters
driver:Driver

the JDBC Driver object

url:String

the JDBC URL to use for accessing the DriverManager

See Also
java.sql.Driver#connect(String, java.util.Properties)
SimpleDriverDataSourceback to summary
public SimpleDriverDataSource(Driver driver, String url, String username, String password)

Create a new DriverManagerDataSource with the given standard Driver parameters.

Parameters
driver:Driver

the JDBC Driver object

url:String

the JDBC URL to use for accessing the DriverManager

username:String

the JDBC username to use for accessing the DriverManager

password:String

the JDBC password to use for accessing the DriverManager

See Also
java.sql.Driver#connect(String, java.util.Properties)
SimpleDriverDataSourceback to summary
public SimpleDriverDataSource(Driver driver, String url, Properties conProps)

Create a new DriverManagerDataSource with the given standard Driver parameters.

Parameters
driver:Driver

the JDBC Driver object

url:String

the JDBC URL to use for accessing the DriverManager

conProps:Properties

the JDBC connection properties

See Also
java.sql.Driver#connect(String, java.util.Properties)

Method Detail

getConnectionFromDriverback to summary
protected Connection getConnectionFromDriver(Properties props) throws SQLException

Implements abstract org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver.

Doc from org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver.

Obtain a Connection using the given properties.

Template method to be implemented by subclasses.

Parameters
props:Properties

the merged connection properties

Returns:Connection

the obtained Connection

Annotations
@Override
Exceptions
SQLException:
in case of failure
getDriverback to summary
public Driver getDriver()

Return the JDBC Driver instance to use.

Annotations
@Nullable
setDriverback to summary
public void setDriver(Driver driver)

Specify the JDBC Driver instance to use.

This allows for passing in a shared, possibly pre-configured Driver instance.

See Also
setDriverClass
setDriverClassback to summary
public void setDriverClass(Class<? extends Driver> driverClass)

Specify the JDBC Driver implementation class to use.

An instance of this Driver class will be created and held within the SimpleDriverDataSource.

See Also
setDriver