快捷搜索: 王者荣耀 脱发

3种DataSource实现及主要的数据源

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环境中使用。

经验分享 程序员 微信小程序 职场和发展