加载JDBC驱动程序哪种方法更好?

har*_*hit 7 java jdbc

加载驱动程序有两种方法:

  1. Class.forName()

  2. DriverManager.registerDriver()

方法1内部也调用DriverManager.registerDriver,方法1是首选方法.

但为什么?是否存在任何细微差别或性能等更好?
任何意见都表示赞赏..

Mat*_*nit 3

如果您使用 Class.forName(),则不需要对特定 JDBC 驱动程序有任何编译时依赖性。当您编写可以使用各种数据库的代码时,这特别有用。

考虑以下代码:

// Register the PostgreSQL driver
Class.forName("org.postgresql.Driver");
Run Code Online (Sandbox Code Playgroud)

现在将其与:

import org.postgresql.Driver;

// Register the PostgreSQL driver
DriverManager.registerDriver(new Driver());
Run Code Online (Sandbox Code Playgroud)

并考虑在第一个示例中,类名也可能来自属性文件、XML 文件等,具体取决于您的应用程序是否方便。