java - 哪种方法更适合加载 JDBC 驱动程序?

标签 java jdbc

加载驱动有两种方式:

  1. Class.forName()

  2. DriverManager.registerDriver()

方法 1 在内部也调用 DriverManager.registerDriver 并且方法 1 是首选方法。

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

最佳答案

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

考虑以下代码:

// Register the PostgreSQL driver
Class.forName("org.postgresql.Driver");

现在比较一下:

import org.postgresql.Driver;

// Register the PostgreSQL driver
DriverManager.registerDriver(new Driver());

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

关于java - 哪种方法更适合加载 JDBC 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/706662/

相关文章:

java - TelephonyManager.getLine1Number() 返回 null

java.lang.ClassCastException : oracle. jdbc.driver.T4CConnection 无法转换为 com.arjuna.ats.internal.arjuna.recovery.Connection

java - 无法打开登录请求的数据库 "NitgenAccessManager"。登录失败

java - 通过静态方法修改数组大小

java - java webstart应用程序如何防止盗版

java - Esper:如何使用 Esper 的配置 API 配置 Esper 以通过 JDBC 连接关系数据库

java - JDBC 连接池建议

mysql - 配置 glassfish 以部署 .war 并使用 jdbc

java - IOException 内的 SocketException

java - 如何让一个线程等待另一个线程?