Java 在编写JDBC连接池时,使用驱动程序或数据源有什么区别?
当我编写连接池来连接数据库时,我总是对使用基于驱动程序的连接和基于数据源的连接的区别感到困惑。看起来他们两人都能把事情做好,但我不确定他们之间的区别。谁能告诉我,或者给我一些链接Java 在编写JDBC连接池时,使用驱动程序或数据源有什么区别?,java,jdbc,Java,Jdbc,当我编写连接池来连接数据库时,我总是对使用基于驱动程序的连接和基于数据源的连接的区别感到困惑。看起来他们两人都能把事情做好,但我不确定他们之间的区别。谁能告诉我,或者给我一些链接 提前感谢。数据源和驱动程序不可比-数据源和驱动程序管理器可比 驱动程序是JDBC的基本构造,不会有任何进展。JDBC驱动程序实现提供了这一点 DriverManager陈旧、不灵活,并且: JDBC2.0API中新增的DataSource接口提供了另一种连接数据源的方法。使用数据源对象是连接到数据源的首选方式 因此,要
提前感谢。
数据源
和驱动程序
不可比-数据源
和驱动程序管理器
可比
驱动程序
是JDBC的基本构造,不会有任何进展。JDBC驱动程序实现提供了这一点
DriverManager
陈旧、不灵活,并且:
JDBC2.0API中新增的DataSource
接口提供了另一种连接数据源的方法。使用数据源
对象是连接到数据源的首选方式
因此,要与池进行交互的主要接口是数据源
,而不是驱动程序管理器
。但是,驱动程序
类仍将使用
顺便提一下,为什么要编写自己的连接池?已经有(至少)两个高质量的开源实现(DBCP和C3P0)。我的公司有一些我无法更改的旧代码,并且有自己的连接池。谢谢。使用datasource的连接会比使用drivermanager的连接快吗?@gunbuster363:不会,应该没有性能差异。