关于jdbc中Connection接口的使用问题

我们知道在进行连接数据库的时候需要加载驱动,建立连接。而建立连接需要使用到Connection这个接口。语法是这样的Connectionconn=null;conn=Dr... 我们知道在进行连接数据库的时候需要加载驱动,建立连接。而建立连接需要使用到Connection这个接口。
语法是这样的
Connection conn=null;
conn=DriverManager.getConnection(URL, USER, PWD);
如果要进行sql语句的实现
PreparedStatement pps=null;
pps=conn.prepareStatement(sql);
我的疑问是这里的conn应该是一个类。为什么会看上去像是一个类的实现。而且根据JDK的解释:public static Connection getConnection(String url)
throws SQLException
这里是返回一个接口。从始到终并没有出现继承接口的子类。求问给为网友里面的实现过程到底是怎样的。
我是新人。希望大家能简单的说一下
展开
 我来答
zpsailor
2010-11-26 · TA获得超过2018个赞
知道小有建树答主
回答量:516
采纳率:0%
帮助的人:685万
展开全部
其实Java JDK中并没有实现特定数据库的链接问题,只是提供了一些标准规范供各数据库生产厂商去实现自己数据库驱动包。
这里的Connection确实是一个接口,其实这个接口就相当于提供了一个规范,听说过“面向接口编程而不是面向实现编程”这个设计原则吧。这是为了让程序的耦合性减小,增加扩展,如果出现一个新的数据库厂商,只要他的驱动符合这个接口标准就可以了。所以这个Connection应该是不同数据库厂商有不同实现。很高兴你已经有看文档的习惯了。你多看点jdk文档是有好处的。
希望我的回答对你有所帮助。
liveimain002
推荐于2016-11-20 · 超过15用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:37.8万
展开全部
我用jad反编译了DriverManager源代码,发现他的调用流程是这样的:
DriverManager类中的getConnection方法调用的是DriverInfo中的connect方法.如下:
DriverInfo driverinfo;
Connection connection = driverinfo.driver.connect(s, properties);
connect是Driver接口中的方法.按ctrl+t 发现调用的是JdbcOdbcDriver类的connect方法.
JdbcOdbcConnection jdbcodbcconnection = new JdbcOdbcConnection(OdbcApi, hEnv, this);最终返回的也是这个类的对象,而这个类继承的JdbcOdbcObject,实现的JdbcOdbcConnectionInterface接口.如下:
public class JdbcOdbcConnection extends JdbcOdbcObject
implements JdbcOdbcConnectionInterface

这个接口继承的是Connection接口,如下:
public interface JdbcOdbcConnectionInterface
extends Connection
所以返回到最初调用处.用Connection接口来接收.
不知道我说的是否明白.
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿楼蔻
2010-11-25
知道答主
回答量:42
采纳率:0%
帮助的人:23.6万
展开全部
这里的实现类是数据库的生产厂商提供的,JAVA中的接口是sun指定的一系列标准,是为了编程的统一性,就象如果需要更换数据库直需要多天加一个驱动包和更改一下数据库配置文件就好了,不需要更改太多的代码就兴了…希望能帮你一理解一些
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式