使用JDBC时必须注册驱动程序吗?
最初,直到Java6,registerDriver()
在与数据库建立连接之前,都需要使用Class.forname()或方法注册驱动程序。
但是,由于使用Java1.6,JDBC4.0API,因此无需显式注册驱动程序,只需为JDBC4.X驱动程序设置Class路径,Java便会自动检测并加载Driver类。
示例
在下面的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("Connection established: "+ con); } }
输出结果
不久,我们执行了这个JVM,它会自动检测到MySQL驱动程序并自动加载它,并且该程序成功执行并生成以下输出-
Connection established: com.mysql.jdbc.JDBC4Connection@424c0bc4