通过之前的讲解已经可以非常清晰的实现了整个JDBC连接管理,但是现在肯定有人不太理解了,为什么在使用JDBC进行数据库连接的时候需要这么多步骤,那么下面就对于当前的程序的执行结果进行一次完整的说明。
1、不同的数据库如果要想实现JDBC的访问,则肯定要求提供有数据库的驱动程序包,首先来打开MySQL数据库连接驱动程序的类定义:
public class Driver extends com.mysql.cj.jdbc.NonRegisteringDriver implements java.sql.Driver { public Driver() throws java.sql.SQLException { /* compiled code */ } }
2、不同的数据库的驱动程序被封装在jar文件里面,这样一旦将其设置在了CLASSPATH属性范围之内,就可以通过反射实现加载,而这个时候DriverManager和这些具体的子类都没有直接的耦合,因为是通过类名称实现的加载;
3、当DriverManager类获得了Driver接口的子类之后就可以直接进行该类对象实例化,实例化完成后再通过Driver接口提供的
connect0方法获取Connection接口对象实例。
而通过整体的分析的操作就可以明确的发现原来DriverManager类是-一个JDBC工厂类,该类的主要功能就是创建若干个Connection接口对象实例,而最关键的问题在于每当通过“DriverManager.getConnection()”方法获取连接的时候都表示要进行一个新的数据库连接的创建,这一个过程是需要进行若干次的Socket连接处理的,即:数据库的连接本身是属于一种非常耗时的操作。