在java中创建JDBC数据库连接,分为简单的四步:
1. 在代码中引入JDBC使用到的类,import java.sql.*;;
2. 注册JDBC驱动:由JVM加载相应的驱动类到内存中;
3. 组织URL信息;
4. DriverManger.getConnnection()创建连接。
不过在注册驱动时,有几种不同的做法:1).Class.forName("com.mysql.jdbc.Driver");2).Class.forName("com.mysql.jdbc.Driver").newInstance();3).DriverManager.registerDriver(new com.mysql.jdbc.Driver())。
在Java中,一个类只有在需要的时候才会被加载的,而JDBC的代码通常不会直接引用Driver的,所以只能在代码中通过上述三种方式主动加载。我一直很想知道前两种注册驱动的区别,其实是这样的,每一个数据库提供商实现的Driver都有一个static代码块,也就是在按照第一种方式加载某Driver时已经完成了必要的初始化操作。也就是说可以不再按第二种方式的.newInstance()也是可以的。但是现实中的程序多是用第二