2
当我编写连接池连接到数据库时,我总是对使用基于驱动程序的连接或基于数据源的连接的区别感到困惑。看起来他们俩都可以完成任务,但我不确定他们的区别。任何人都可以告诉我,或给我一些链接?在编写JDBC连接池时,使用Driver或DataSource有什么区别?
在此先感谢。
当我编写连接池连接到数据库时,我总是对使用基于驱动程序的连接或基于数据源的连接的区别感到困惑。看起来他们俩都可以完成任务,但我不确定他们的区别。任何人都可以告诉我,或给我一些链接?在编写JDBC连接池时,使用Driver或DataSource有什么区别?
在此先感谢。
DataSource
和Driver
不可比 - DataSource
和DriverManager
是。
Driver
是JDBC的基本结构,而不会去任何地方。 JDBC驱动程序实现提供了这一点。
DriverManager
是旧的,不灵活且unofficially deprecated:
的
DataSource
接口,该JDBC 2.0 API在新,提供了另一种方式连接到数据源。使用DataSource
对象是连接数据源的首选方式。
所以您的主界面,为您的池DataSource
,不DriverManager
互动。然而,Driver
类仍将被使用。
顺便说一句,你为什么写自己的连接池?目前已经有(至少)两种高质量的开源实现(DBCP和C3P0)。
我的编程有一些旧代码,我不能改变并有自己的连接池。谢谢。 – lamwaiman1988 2011-02-14 01:09:44