我们知道,Java中数据库连接都是基于JDBC,但是我们一般很少直接使用它。最近,有同事在数据库连接的stress testing中遇到了问题,看了一下,原来他自己实现了connection factory还有一个connection pool。
数据库连接,我始终推荐使用现成的framework或者library,比如说Spring里面现成的JdbcTemplate,给他配上个datasource就可以了。至于事物属性,在datasource层面设置一下就可以了。JdbcTemplate帮我们解决了大部分问题:建立连接,close connection已经释放资源。
datasource包括两种:basic或者pool,常见的有commons-dbcp或者hibernate的c3p。如果对性能要求高,可以选用database自己提供的datasource选项,比如OracleConnectionPoolDataSource,缺点就是数据库绑定了。