jdbc DriverManager.getConnection(" connection_url"," username"," password");

时间:2015-03-24 00:01:48

标签: java jdbc

有谁能告诉我这里发生的事情

Connection con =DriverManager.getConnection("connection_url", "username", "password");

连接接口和driverManager类如何相关? con是连接接口引用,它可以指向实现连接接口的类的对象或与连接接口相关的对象/实例......什么是“DriverManager.getConnection”返回以及它是如何返回的由连接参考引用??

我知道基本的答案数据,它通过检查驱动程序的URL来返回连接,但实际上发生了什么?

我是初学java学生请帮忙

2 个答案:

答案 0 :(得分:1)

  

我的意思是con是一个连接接口引用,它不能指向实现连接接口的类的对象

错误。 可以必须。实际的实现类由JDBC驱动程序供应商提供。

答案 1 :(得分:1)

DriverManager跟踪JVM中已加载的所有JDBC Driver(有几种方法可以加载Driver

当您要求DriverManager为您打开连接时,它会询问每个已加载的驱动程序是否可以处理您指定的网址。
如果Driver可以处理URL,则会要求使用提供的用户名和密码连接到数据库。 Driver提供实现Connection接口的连接对象。

DriverManager实际上只是一个知道每个加载Driver的小类,并处理正确的选择。 Connection(和Statement等)的实施全部由Driver处理。