不调用Class.forName(" com.mysql.jdbc.Driver")运行程序

时间:2016-08-26 12:31:46

标签: jdbc

没有加载驱动程序Class.forName("com.mysql.jdbc.Driver")我的程序 工作很好......怎么......?

Coding Picture

DataBase Picture

1 个答案:

答案 0 :(得分:3)

javadoc of DriverManager

中对此进行了解释
  

DriverManager方法getConnection和getDrivers已得到增强,可支持Java Standard Edition Service Provider机制。 JDBC 4.0驱动程序必须包含文件META-INF / services / java.sql.Driver。此文件包含java.sql.Driver的JDBC驱动程序实现的名称。例如,要加载my.sql.Driver类,META-INF / services / java.sql.Driver文件将包含以下条目:

my.sql.Driver
     

应用程序不再需要使用Class.forName()显式加载JDBC驱动程序。当前使用Class.forName()加载JDBC驱动程序的现有程序将继续工作而无需修改。

     

当调用方法getConnection时,DriverManager将尝试从初始化时加载的驱动程序中找到合适的驱动程序,并使用与当前applet或应用程序相同的类加载器显式加载。