当我编写连接池以连接到数据库时,我总是对使用基于驱动程序的连接或基于DataSource的连接的不同感到困惑。似乎他们两个都可以完成任务,但我不确定他们的区别。谁能告诉我这个,或者给我一些链接?
提前致谢。
答案 0 :(得分:3)
DataSource
和Driver
无法比较 - DataSource
和DriverManager
。
Driver
是JDBC的基本结构,不会去任何地方。 JDBC驱动程序实现提供了这个。
DriverManager
陈旧,不灵活且unofficially deprecated:
JDBC 2.0 API中的新
DataSource
接口提供了另一种连接数据源的方法。使用DataSource
对象是连接数据源的首选方法。
因此,您与池进行互动的主要界面是DataSource
,而不是DriverManager
。但是,仍然会使用Driver
类。
顺便说一句,为什么要编写自己的连接池?已经(至少)有两个高质量的开源实现(DBCP和C3P0)。