当前位置: 技术文章>> jdbc学习之Driver 接口的实现类

文章标题:jdbc学习之Driver 接口的实现类
  • 文章分类: 后端
  • 17040 阅读

Driver 接口介绍

  • java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。

  • 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类 (java.sql.DriverManager) 去调用这些 Driver 实现。

  • Oracle 的驱动:oracle.jdbc.driver.OracleDriver。

  • MySQL 的驱动:com.mysql.jdbc.Driver或com.mysql.cj.jdbc.Driver。

2.1.2 加载与注册 JDBC 驱动

  • 加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名。

Class.forName(“com.mysql.cj.jdbc.Driver”);

  • 注册驱动:DriverManager 类是驱动程序管理器类,负责管理驱动程序>

    • 使用 DriverManager.registerDriver(com.mysql.jdbc.Driver) 来注册驱动。

    • 通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例。下面是 MySQL 的 Driver 实现类的源码:

package com.mysql.cj.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
    public Driver() throws SQLException {}
    static {
        try {
            DriverManager.registerDriver(new Driver());
        } catch(SQLException var1) {
            throw new RuntimeException("Can't register driver!");
        }
    }
}


推荐文章