Class SimpleDriverDataSource
- java.lang.Object
- org.springframework.jdbc.datasource.AbstractDataSource
- org.springframework.jdbc.datasource.AbstractDriverBasedDataSource
- org.springframework.jdbc.datasource.SimpleDriverDataSource
- All Implemented Interfaces:
Wrapper
,CommonDataSource
,DataSource
public class SimpleDriverDataSource extends AbstractDriverBasedDataSource
Simple implementation of the standard JDBCDataSource
interface, configuring a plain old JDBCDriver
via bean properties, and returning a newConnection
from everygetConnection
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 Java 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
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-styleBasicDataSource
/ComboPooledDataSource
classes with configuration properties for local resource setups. For a modern JDBC connection pool, consider HikariCP instead, exposing a correspondingHikariDataSource
instance to the application.- Since:
- 2.5.5
- Author:
- Juergen Hoeller
- See Also:
DriverManagerDataSource
Field Summary
Fields inherited from class org.springframework.jdbc.datasource.AbstractDataSource
logger
Constructor Summary
Constructors Constructor Description SimpleDriverDataSource()
Constructor for bean-style configuration.SimpleDriverDataSource(Driver driver, String url)
Create a new DriverManagerDataSource with the given standard Driver parameters.SimpleDriverDataSource(Driver driver, String url, String username, String password)
Create a new DriverManagerDataSource with the given standard Driver parameters.SimpleDriverDataSource(Driver driver, String url, Properties conProps)
Create a new DriverManagerDataSource with the given standard Driver parameters.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Connection
getConnectionFromDriver(Properties props)
Obtain a Connection using the given properties.Driver
getDriver()
Return the JDBC Driver instance to use.void
setDriver(Driver driver)
Specify the JDBC Driver instance to use.void
setDriverClass(Class<? extends Driver> driverClass)
Specify the JDBC Driver implementation class to use.Methods inherited from class org.springframework.jdbc.datasource.AbstractDriverBasedDataSource
getCatalog, getConnection, getConnection, getConnectionFromDriver, getConnectionProperties, getPassword, getSchema, getUrl, getUsername, setCatalog, setConnectionProperties, setPassword, setSchema, setUrl, setUsername
Methods inherited from class org.springframework.jdbc.datasource.AbstractDataSource
getLoginTimeout, getLogWriter, getParentLogger, isWrapperFor, setLoginTimeout, setLogWriter, unwrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.sql.CommonDataSource
createShardingKeyBuilder
Methods inherited from interface javax.sql.DataSource
createConnectionBuilder
Constructor Detail
SimpleDriverDataSource
public SimpleDriverDataSource()
Constructor for bean-style configuration.
SimpleDriverDataSource
public SimpleDriverDataSource(Driver driver, String url)
Create a new DriverManagerDataSource with the given standard Driver parameters.- Parameters:
driver
- the JDBC Driver objecturl
- the JDBC URL to use for accessing the DriverManager- See Also:
Driver.connect(String, java.util.Properties)
SimpleDriverDataSource
public SimpleDriverDataSource(Driver driver, String url, String username, String password)
Create a new DriverManagerDataSource with the given standard Driver parameters.- Parameters:
driver
- the JDBC Driver objecturl
- the JDBC URL to use for accessing the DriverManagerusername
- the JDBC username to use for accessing the DriverManagerpassword
- the JDBC password to use for accessing the DriverManager- See Also:
Driver.connect(String, java.util.Properties)
SimpleDriverDataSource
public SimpleDriverDataSource(Driver driver, String url, Properties conProps)
Create a new DriverManagerDataSource with the given standard Driver parameters.- Parameters:
driver
- the JDBC Driver objecturl
- the JDBC URL to use for accessing the DriverManagerconProps
- the JDBC connection properties- See Also:
Driver.connect(String, java.util.Properties)
Method Detail
setDriverClass
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(java.sql.Driver)
setDriver
public void setDriver(@Nullable Driver driver)
Specify the JDBC Driver instance to use.This allows for passing in a shared, possibly pre-configured Driver instance.
getConnectionFromDriver
protected Connection getConnectionFromDriver(Properties props) throws SQLException
Description copied from class:AbstractDriverBasedDataSource
Obtain a Connection using the given properties.Template method to be implemented by subclasses.
- Specified by:
getConnectionFromDriver
in classAbstractDriverBasedDataSource
- Parameters:
props
- the merged connection properties- Returns:
- the obtained Connection
- Throws:
SQLException
- in case of failure