与 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
广告