这个问题已经在这里有一个答案:
- 接口JDBC-实现 4个回答
我使用来自java.sql包的接口连接
其实我虽然一类,但是当我想看看源代码,我想通了,这是一个接口。
在连接接口的源存在用于没有任何实现每个方法只有单线!!
是什么让这个接口可以作为呢?
数据库连接的:mysql
连接源代码页: http://www.docjar.com/html/api/java/sql/Connection.java.html
这个问题已经在这里有一个答案:
我使用来自java.sql包的接口连接
其实我虽然一类,但是当我想看看源代码,我想通了,这是一个接口。
在连接接口的源存在用于没有任何实现每个方法只有单线!!
是什么让这个接口可以作为呢?
数据库连接的:mysql
连接源代码页: http://www.docjar.com/html/api/java/sql/Connection.java.html
它不是接口,“作品”,但它的实现,这是特定于特定的RDBMS供应商之一。 事实上,它通常是谁提供的实现的供应商Connection
接口。
你打电话的时候
Connection conn = DriverManager.getConnection(
"jdbc:jdbc:mysql://localhost:3306/
, connectionProps);
通过注册的JDBC驱动驱动程序管理器搜索,找到一个对MySQL(它知道它的MySQL从连接字符串),通过连接属性MySQL JDBC驱动程序里面的类,它实现的构造Connection
,并返回结果Connection
实例还给你。 例如,驾驶员可能会返回一个包私有类的实例MySqlConnection
实现Connection
,你的程序将使用它来与RDBMS交互,无需了解类的,比它实现的事实以外的任何细节Connection
。
MySQL驱动( http://www.mysql.com/products/connector/ )包含实际的执行情况。 java.sql.Connection接口只是定义了JDBC标准预计方法。 每个数据库驱动程序必须定义如何真正连接。
下面是直接或间接实现java.sql.Connection接口类的一些例子:
由包命名空间,你可以从他们来自哪个JDBC驱动程序告诉。 但是,这些和其他实现类不能直接使用。 正如dasblinkenlight指出的那样,你应该对编程的JDBC API,而不是每个JDBC驱动程序库中提供的类。 使用API将允许你切换RDBMS,而不是破坏你的Java数据访问代码。
有趣的是,这几天越来越少的人使用JDBC API。 很多人使用是建立在JDBC,如Hibernate之上的对象关系映射框架。