1.基本实现:
这类实现会生成标准的Connect对象。
2.连接池实现:
它返回的Connection对象是由连接池维护的,对于基本实现和连接池实现而言,它们的事务处理要借助链接对象的setAutoCommit()、commit()、roolback()等方法完成。
3.分布式事务(2PC)实现,它返回的Connection对象能够参与到JTA事务中,而且这些连接对象也是由连接池维护的。这类实现通常称之为事务性数据源。
基于测试目的的数据源实现:
DriverManagerDataSource、SimpleDriverDataSource、SingleConnectionDataSource。
其他数据源:
1. Apache DBCP: org.apache.commons.dbcp.BasicDataSource
2. Java EE容器内置的数据源
3.LazyConnectionDataSourceProxy数据源,会代理其他的数据源,并延迟获取JDBC Connection。开发者要为这一代理指定目标数据源。
4.TransactionAwareDataSourceProxy数据源,它主要用于处理遗留代码,通常开发者很少用到。
5.UserCredentialsDataSourceAdapter数据源。将连接数据库的用户凭证信息出入到getConnection(String userName,String password)中。
6.IsolationLevelDataSourceAdapter数据源,该数据源继承自5,用于适配特定的数据源,并启用isolationLevelName属性指定的隔离级别,并在这一隔离级别下进行数据库操作。
7.WebSphereDataSourceAdapter数据源,继承自6,它会从WebSphere容器获取数据源。
8.IsolationLevelDataSourceRouter数据源。根据当前Spring受管事务启用的隔离级别来选定合适的DataSource数据源。事实上,该数据源主要在JTA环境中使用。