0

在 java.sql 包中,我们有 Connection 接口来建立与数据库的连接。

在 DirverManager 类的帮助下,我们可以得到 Connection 接口的对象。前任。

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:DNS");

但是我有一些困惑——如果 Connection 是一个接口,那么我们如何获取 Connection 接口的对象呢?

请清除这种混乱。

4

3 回答 3

2

我们不能为任何接口创建任何对象。但是可以将实现该接口的类对象分配给该接口的引用变量。这里con是该接口的引用变量,DriverManager.getConnection()返回一个实现Connection接口的类对象。

于 2012-06-06T14:13:15.683 回答
1

Oracle 的T4CConnection类实现了Connection接口,Mysql 的JDBC4Connection类也实现了Connection接口。

这意味着如果您加载 Oracle 驱动程序,则con下面行中的引用变量包含一个类obj,如果您加载 mysql 驱动程序,则包含一个类 obj。T4CConnectionJDBC4Connection

Connection con=DriverManager.getConnection("jdbc:odbc:DNS");

于 2015-04-29T19:29:22.930 回答
0

在 J2EE 中,我们使用接口而不是类进行编码,因为从供应商到供应商和驱动程序以驱动类名称更改。要获取实现类名称,请使用 getClass()。

于 2015-10-25T15:51:14.223 回答