与 JDBC 一起工作时是否必须注册驱动器?


最初,Java6 之前,在与数据库建立连接之前需要使用 Class.forname() 或 registerDriver() 方法注册驱动器。

但是,自 Java 1.6 JDBC 4.0 API 以来,无需显式注册驱动器,您只需要设置 JDBC 4.X 驱动器的类路径,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 {
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://127.0.0.1/talakai_noppi";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established: "+ con);
   }
}

输出

很快,我们将执行此操作,JVM 会自动检测 MySQL 驱动器并自动加载它,并且这个程序会成功执行,并生成以下输出 −

Connection established: com.mysql.jdbc.JDBC4Connection@424c0bc4

更新于:2019 年 7 月 30 日

626 人次浏览

开启您的职业

完成课程并获得认证

开始学习
广告