Class SimpleDriverDataSource
- All Implemented Interfaces:
Wrapper
,CommonDataSource
,DataSource
DataSource
interface,
configuring a plain old JDBC Driver
via bean properties, and
returning a new 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 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.
- Since:
- 2.5.5
- Author:
- Juergen Hoeller
- See Also:
-
Field Summary
Fields inherited from class org.springframework.jdbc.datasource.AbstractDataSource
logger
-
Constructor Summary
ConstructorDescriptionConstructor 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
Modifier and TypeMethodDescriptionprotected Connection
Obtain a Connection using the given properties.Return the JDBC Driver instance to use.void
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 Details
-
SimpleDriverDataSource
public SimpleDriverDataSource()Constructor for bean-style configuration. -
SimpleDriverDataSource
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:
-
SimpleDriverDataSource
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:
-
SimpleDriverDataSource
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:
-
-
Method Details
-
setDriverClass
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
Specify the JDBC Driver instance to use.This allows for passing in a shared, possibly pre-configured Driver instance.
-
getDriver
Return the JDBC Driver instance to use. -
getConnectionFromDriver
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
-