Spring提供一个能从当前事务上下文中获取绑定的数据连接的工具类,即DataSourceUtils。Spring强调必须使用DataSourceUtils获取数据库连接,Spring的JdbcTemplate内部也是通过DataSourceUtils来获取连接的。DataSourceUtils提供了若干获取和释放数据连接的静态方法,说明如下:
1.static Connection doGetConnection(DataSource dataSource)
首先尝试从事务上下文中获取连接,失败后再从数据源获取连接。
2.static Connection getConnection(DataSource dataSource)
和doGetConnection()方法的功能一样。内部就是调用的doGetConnection()方法。
3.static void doReleaseConnection(Connection con,DataSource dataSource )
释放连接,放回到连接池中。
4.static void releaseConnection(DataSource dataSource )
和doReleaseConnection()方法的功能一样。内部就是调用的doReleaseConnection()方法。
不同数据访问技术框架DataSourceUtils的等价类:
Spring JDBC
org.springframework.jdbc.datasource.DataSourceUtils
Hibernate
org.springframework.orm.hibernateX.SessionFactoryUtils
MyBatis
org.springframework.jdbc.datasource.DataSourceUtils
JPA
org.springframework.orm.jpa.EntityManagerFactoryUtils
JDO org.springframework.jdbc.datasource.PersistenceManagerFactoryUtils
网友评论