# Package org.springframework.jdbc.datasource

@NonNullApi @NonNullFields package org.springframework.jdbc.datasource
Provides a utility class for easy DataSource access, a PlatformTransactionManager for a single DataSource, and various simple DataSource implementations.

Related Packages
Package
Description
org.springframework.jdbc
The classes in this package make JDBC easier to use and reduce the likelihood of common errors.
org.springframework.jdbc.datasource.embedded
Provides extensible support for creating embedded database instances.
org.springframework.jdbc.datasource.init
Provides extensible support for initializing databases through scripts.
org.springframework.jdbc.datasource.lookup
Provides a strategy for looking up JDBC DataSources by name.
org.springframework.jdbc.config
Defines the Spring JDBC configuration namespace.
org.springframework.jdbc.core
Provides the core JDBC framework, based on JdbcTemplate and its associated callback interfaces and helper objects.
org.springframework.jdbc.object
The classes in this package represent RDBMS queries, updates, and stored procedures as threadsafe, reusable objects.
org.springframework.jdbc.support
Support classes for the JDBC framework, used by the classes in the jdbc.core and jdbc.object packages.
Class
Description
AbstractDataSource
Abstract base class for Spring's `DataSource` implementations, taking care of the padding.
AbstractDriverBasedDataSource
Abstract base class for JDBC `DataSource` implementations that operate on a JDBC `Driver`.
ConnectionHandle
Simple interface to be implemented by handles for a JDBC Connection.
ConnectionHolder
Resource holder wrapping a JDBC `Connection`.
ConnectionProxy
Subinterface of `Connection` to be implemented by Connection proxies.
DataSourceTransactionManager
`PlatformTransactionManager` implementation for a single JDBC `DataSource`.
DataSourceUtils
Helper class that provides static methods for obtaining JDBC `Connection`s from a `DataSource`.
DelegatingDataSource
JDBC `DataSource` implementation that delegates all calls to a given target `DataSource`.
DriverManagerDataSource
Simple implementation of the standard JDBC `DataSource` interface, configuring the plain old JDBC `DriverManager` via bean properties, and returning a new `Connection` from every `getConnection` call.
IsolationLevelDataSourceAdapter
An adapter for a target `DataSource`, applying the current Spring transaction's isolation level (and potentially specified user credentials) to every `getConnection` call.
JdbcTransactionObjectSupport
Convenient base class for JDBC-aware transaction objects.
LazyConnectionDataSourceProxy
Proxy for a target DataSource, fetching actual JDBC Connections lazily, i.e.
ShardingKeyDataSourceAdapter
An adapter for a target `DataSource`, designed to apply sharding keys, if specified, to every standard `#getConnection` call, returning a direct connection to the shard corresponding to the specified sharding key value.
ShardingKeyProvider
Strategy interface for determining sharding keys which are used to establish direct shard connections in the context of sharded databases.
SimpleConnectionHandle
Simple implementation of the `ConnectionHandle` interface, containing a given JDBC Connection.
SimpleDriverDataSource
Simple implementation of the standard JDBC `DataSource` interface, configuring a plain old JDBC `Driver` via bean properties, and returning a new `Connection` from every `getConnection` call.
SingleConnectionDataSource
Implementation of `SmartDataSource` that wraps a single JDBC Connection which is not closed after use.
SmartDataSource
Extension of the `javax.sql.DataSource` interface, to be implemented by special DataSources that return JDBC Connections in an unwrapped fashion.
TransactionAwareDataSourceProxy
Proxy for a target JDBC `DataSource`, adding awareness of Spring-managed transactions.
UserCredentialsDataSourceAdapter
An adapter for a target JDBC `DataSource`, applying the specified user credentials to every standard `getConnection()` call, implicitly invoking `getConnection(username, password)` on the target.