public class SimpleDriverDataSource extends AbstractDriverBasedDataSource
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 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.
If you need a "real" connection pool outside of a Java EE container, consider Apache Commons DBCP or C3P0. Commons DBCP's BasicDataSource and C3P0's ComboPooledDataSource are full connection pool beans, supporting the same basic properties as this class plus specific settings (such as minimal/maximal pool size etc).
DriverManagerDataSourcelogger| Constructor and 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,
Properties conProps)
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.
|
| Modifier and Type | Method and 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.
|
getCatalog, getConnection, getConnection, getConnectionFromDriver, getConnectionProperties, getPassword, getSchema, getUrl, getUsername, setCatalog, setConnectionProperties, setPassword, setSchema, setUrl, setUsernamegetLoginTimeout, getLogWriter, getParentLogger, isWrapperFor, setLoginTimeout, setLogWriter, unwrappublic SimpleDriverDataSource()
public SimpleDriverDataSource(Driver driver, String url)
driver - the JDBC Driver objecturl - the JDBC URL to use for accessing the DriverManagerDriver.connect(String, java.util.Properties)public SimpleDriverDataSource(Driver driver, String url, String username, String password)
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 DriverManagerDriver.connect(String, java.util.Properties)public SimpleDriverDataSource(Driver driver, String url, Properties conProps)
driver - the JDBC Driver objecturl - the JDBC URL to use for accessing the DriverManagerconProps - the JDBC connection propertiesDriver.connect(String, java.util.Properties)public void setDriverClass(Class<? extends Driver> driverClass)
An instance of this Driver class will be created and held within the SimpleDriverDataSource.
setDriver(java.sql.Driver)public void setDriver(@Nullable Driver driver)
This allows for passing in a shared, possibly pre-configured Driver instance.
protected Connection getConnectionFromDriver(Properties props) throws SQLException
AbstractDriverBasedDataSourceTemplate method to be implemented by subclasses.
getConnectionFromDriver in class AbstractDriverBasedDataSourceprops - the merged connection propertiesSQLException - in case of failure