有谁能告诉我这里发生的事情
Connection con =DriverManager.getConnection("connection_url", "username", "password");
连接接口和driverManager类如何相关? con是连接接口引用,它可以指向实现连接接口的类的对象或与连接接口相关的对象/实例......什么是“DriverManager.getConnection”返回以及它是如何返回的由连接参考引用??
我知道基本的答案数据,它通过检查驱动程序的URL来返回连接,但实际上发生了什么?
我是初学java学生请帮忙
答案 0 :(得分:1)
我的意思是con是一个连接接口引用,它不能指向实现连接接口的类的对象
错误。 可以,必须。实际的实现类由JDBC驱动程序供应商提供。
答案 1 :(得分:1)
DriverManager
跟踪JVM中已加载的所有JDBC Driver
(有几种方法可以加载Driver
。
当您要求DriverManager
为您打开连接时,它会询问每个已加载的驱动程序是否可以处理您指定的网址。
如果Driver
可以处理URL,则会要求使用提供的用户名和密码连接到数据库。 Driver
提供实现Connection
接口的连接对象。
DriverManager
实际上只是一个知道每个加载Driver
的小类,并处理正确的选择。 Connection
(和Statement
等)的实施全部由Driver
处理。