使用 JDBC 时是否必须注册驱动程序?
使用 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 驱动程序的依赖项。
然后,在未注册 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
相关文章
使用 JDBC 在 MySQL 中创建包含所有数据类型的表的示例?
JDBC 和 Hibernate 之间的区别
使用 JDBC 语句进行批量插入
使用 JDBC 预处理语句进行批量插入
编写一个程序来获取 JDBC 中所有支持的数据类型的列表?
在 JDBC 中,MySQL 中用于存储 DATALINK 对象的数据类型是什么
JDBC Class.forName 与 DriverManager.registerDriver
如何使用 JDBC 检索由 PreparationStatement 生成的自动递增值?
如何在 JDBC 中使用 PreparedStatement 在表中存储十进制值?
如何使用 JDBC 在 MySQL 中设置自动递增列的初始值?
打印
下一节:如何使用 JDBC 将 DATALINK 对象插入表中? ❯❮ 上一节:如何使用 JDBC 从 java.sql.Date 获取 LocalDateTime 对象?