Java Class.forName,JDBC连接加载驱动

Sel*_*raj 4 java mysql jdbc

在进行简单的 JDBC 连接时,所有资源都提供相同的代码

String driver = "com.mysql.jdbc.Driver";
Statement statement = null; 
Class.forName(driver); 
Connection conn  = DriverManager.getConnection(url + dbName,userName, password);
Run Code Online (Sandbox Code Playgroud)

但我们实际上与“Class.forName(driver)”无关。我们没有把它存放在任何地方。这有什么用,因为我们与 Class.forName(driver) 的返回无关。

Boh*_*ian 6

Class.forName()尝试加载指定的类。在 JDBC 的早期版本中,这是必要的,因为Driver类要求以这种方式加载类。多年来一直不需要这样做。

不接电话,不会有什么不好的事情发生。

出于某种原因,教程和示例仍然采用旧方式。

手动加载类的唯一微小好处是,它可以准确地告诉您问题是什么,以防您在类路径中没有正确的类。

  • 谢谢你。@Bohermain.现在我很清楚。 (2认同)