使用 JDBC 时是否必须注册驱动程序?

jdbcobject oriented programmingprogramming更新于 2025/6/30 2:07:17

最初,直到 Java 6 版本,在与数据库建立连接之前,都需要使用 Class.forname() 或 registerDriver() 方法注册驱动程序。

但是,从 Java 1.6 和 JDBC 4.0 API 开始,无需显式注册驱动程序,只需设置 JDBC 4.X 驱动程序的 Class 路径,Java 会自动检测驱动程序类并加载它。

示例

在下面的 JDBC 程序中,我们尝试连接 MySQL 数据库,首先在项目的 pom.xml 中包含 MySQL 驱动程序的依赖项。

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>8.0.16</version>
</dependency>

然后,在未注册 MySQL 驱动类 com.mysql.jdbc.Driver 的情况下,我们尝试调用 getConnection 对象。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class RunningScripts {
   public static void main(String args[]) throws SQLException {
      //获取连接
      String mysqlUrl = "jdbc:mysql://localhost/talakai_noppi";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("连接已建立: "+ con);
   }
}

输出

我们很快执行此代码,JVM 会自动检测 MySQL 驱动程序并自动加载,程序成功执行并生成以下输出 −

连接已建立: com.mysql.jdbc.JDBC4Connection@424c0bc4

相关文章