MySQL JDBC插件加载

时间:2012-11-14 01:35:16

标签: java mysql jdbc

我在代码中看到了这种类型的代码,它初始化了MySQL JDBC连接。

Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://10.0.0.2:3306", "username", "password");

现在我的问题是为什么/何时需要第一行?我已经能够毫无问题地连接到MySQL数据库了:

conn = DriverManager.getConnection("jdbc:mysql://10.0.0.2:3306", "username", "password");

我正在使用Java 7和Connector / J 5.0.8驱动程序。

我的代码中没有任何导入或类加载语句,它们会直接加载MySQL驱动程序,只加载通用的Java SQL接口类。

1 个答案:

答案 0 :(得分:3)

简短回答:使用JDBC驱动程序4.0之前(JDBC 4.0引入了JDBC驱动程序类的自动加载)

  

在以前的JDBC版本中,要获得连接,首先必须这样做   通过调用Class.forName方法初始化JDBC驱动程序。这个   方法需要java.sql.Driver类型的对象。每个JDBC驱动程序   包含一个或多个实现该接口的类   java.sql.Driver中。 Java DB的驱动程序是   org.apache.derby.jdbc.EmbeddedDriver和   org.apache.derby.jdbc.ClientDriver,以及MySQL Connector / J的那个   是com.mysql.jdbc.Driver。请参阅DBMS驱动程序的文档   获取实现接口的类的名称   java.sql.Driver中。

     

在类路径中找到的任何JDBC 4.0驱动程序都是   自动加载。 (但是,您必须手动加载任何驱动程序   在JDBC 4.0之前使用方法Class.forName。)

来源:JDBC Basics