来自Oracle的JDBC文档说驱动程序提供程序应该实现DataSource接口,但在实际项目源文件中,我总是看到DataSource来自第3个,例如DBCP连接池。
我想知道MySQL驱动程序本身是否实现了DataSource接口?
答案 0 :(得分:1)
如果您正在谈论Connector/J,则提供:
com.mysql.jdbc.jdbc2.optional.MysqlDataSource
(实现DataSource),com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource
(实施ConnectionPoolDataSource)com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
(实施XADataSource)所以,就你的问题而言。 是 Connector / J 为DataSource
接口提供实现并符合JDBC规范。
但是,正如您在问题和@ Piotr的回答中所知,大多数应用程序永远不会直接处理这些实现。作为Java开发人员,至少在十年内我从未这样做过。让Java EE App Server为您处理连接,或者如果您使用独立应用程序,则安装第三方连接池。
答案 1 :(得分:0)
您可以使用JDBC驱动程序提供的本机DataSource,但您通常使用的是连接池,如DBCP,C3P0或BoneCP。