编写JDBC连接池时,使用Driver或DataSource有什么区别?

时间:2011-02-11 09:15:44

标签: java jdbc

当我编写连接池以连接到数据库时,我总是对使用基于驱动程序的连接或基于DataSource的连接的不同感到困惑。似乎他们两个都可以完成任务,但我不确定他们的区别。谁能告诉我这个,或者给我一些链接?

提前致谢。

1 个答案:

答案 0 :(得分:3)

DataSourceDriver无法比较 - DataSourceDriverManager

Driver是JDBC的基本结构,不会去任何地方。 JDBC驱动程序实现提供了这个。

DriverManager陈旧,不灵活且unofficially deprecated

  

JDBC 2.0 API中的新DataSource接口提供了另一种连接数据源的方法。使用DataSource对象是连接数据源的首选方法。

因此,您与池进行互动的主要界面是DataSource,而不是DriverManager。但是,仍然会使用Driver类。

顺便说一句,为什么要编写自己的连接池?已经(至少)有两个高质量的开源实现(DBCP和C3P0)。