首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不用DriverManager.registerDriver(driver)

Class.forName()与JDBC没有直接关系。它只是加载一个类。 大多数JDBC驱动程序类通过调用在自己的静态初始化器中注册自己registerDriver()。...例如,要加载my.sql.Driver类,META-INF/services/java.sql.Driver文件将包含以下条目: my.sql.Driver 应用程序不再需要使用显式加载JDBC驱动程序...JDBC规范要求驱动程序在类加载时进行注册,并通过加载该类​​Class.forName()​​。在JDBC 4中,仅在类路径上就可以自动加载驱动程序。 ​​...(即只要想办法让驱动类的这段静态代码块执行即可注册驱动类,而要让这段静态代码块执行,只要让该类被类加载器加载即可) 调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名...//1、通过反射,加载与注册驱动类,​解耦合(不直接依赖)​Class.forName(“com.mysql.jdbc.Driver”); //2、通过类加载器加载驱动类,​解耦合(不直接依赖)​ClassLoader.getSystemClassLoader

8010
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    获取数据库连接

    要素一:Driver接口实现类 Driver接口介绍 java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库 厂商提供不同的实现。...JDBC驱动 加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名 Class.forName(“com.mysql.jdbc.Driver...”); 注册驱动:DriverManager 类是驱动程序管理器类,负责管理驱动程序 使用DriverManager.registerDriver(com.mysql.jdbc.Driver)来注册驱动...通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口 的驱动程序类都包含了静态代码块,在这个静态代码块中,...下图是MySQL的Driver实现类的源码: 要素二:URL JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到 数据库的连接。

    1.2K30

    JDBC的配置(包括db.properties等)

    3.2 驱动程序JAR文件 在运行访问数据库的程序时,需要将驱动程序的JAR文件包括到类路径中(编译时并不需要整个JAR文件) 从命令行启动时,只需要使用下面的命令 java -classpath...情况二:如果驱动程序JAR不支持自动注册,需要找出数据库提供商使用的JDBC驱动器的名字。...(1)在JAVA程序中加载驱动器类 e.g.Class.forName("com.mysql.jdbc.Driver"); com.mysql.jdbc.Driver中得静态方法可以向DriverManager...在com.mysql.jdbc.Driver类中,除了构造方法,就是一个static的方法体,它调用了DriverManager的registerDriver()方法,这个方法会加载所有系统提供的驱动,...") (3)未尝试 DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 3.5 连接到数据库 驱动管理器遍历所有注册过的驱动程序

    1.5K10

    JDBC连接Mysql数据(从简单到实用,超详细)

    获取数据库连接要素: 要素一:Driver接口实现类: java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。...在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。...加载驱动:加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名 Class.forName(“com.mysql.jdbc.Driver”)...; 注册驱动:DriverManager 类是驱动程序管理器类,负责管理驱动程序 使用DriverManager.registerDriver(com.mysql.jdbc.Driver)来注册驱动...jdbc:子协议:子名称 协议:JDBC URL中的协议总是jdbc 子协议:子协议用于标识一个数据库驱动程序 子名称:一种标识数据库的方法。

    1.9K40

    2. 获取数据库连接

    Oracle的驱动:oracle.jdbc.driver.OracleDriver mySql的驱动:com.mysql.jdbc.Driver 1.1.2 加载与注册JDBC驱动 加载驱动:加载 JDBC...驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名 Class.forName(“com.mysql.jdbc.Driver”); 注册驱动:DriverManager...类是驱动程序管理器类,负责管理驱动程序 使用DriverManager.registerDriver(com.mysql.jdbc.Driver)来注册驱动 通常不用显式调用 DriverManager...类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver...下图是MySQL的Driver实现类的源码: 1.2 要素二:URL JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。

    1.4K20

    JDBC链接数据库

    JDBC Driver API: 支持JDBC管理到驱动器连接。 JDBC API的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。...JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。...以下是JDBC结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置: ? JDBC 常用API DriverManager 这个类管理数据库驱动程序的列表。...JDBC 使用步骤 使用JDBC应用程序创建新数据库需要以下步骤: 导入包 需要包含数据库编程所需的JDBC类的包。项目中需要添加数据库连接的jar包才能进行导入。...注册JDBC驱动程序 需要初始化驱动程序,以便可以程序中打开数据库的通信通道。

    1.7K30

    JDBC概述以及入门示例

    Oracle的驱动:oracle.jdbc.driver.OracleDriver mySql的驱动:com.mysql.jdbc.Driver 4.1.2 加载与注册JDBC驱动 加载驱动:加载 JDBC...驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名 Class.forName(“com.mysql.jdbc.Driver”); 注册驱动:DriverManager...类是驱动程序管理器类,负责管理驱动程序 使用DriverManager.registerDriver(com.mysql.jdbc.Driver)来注册驱动 通常不用显式调用 DriverManager...类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver...5.5.2 使用类加载器读取配置文件的信息,创建数据库连接 ?

    80640

    JDBC 简介及应用crud

    条件(ID)查询数据 JDBC 删除数据 JDBC 工具类 JDBC 简介 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API...JDBC Driver API: 支持JDBC管理到驱动器连接。 JDBC API的使用驱动程序管理器和数据库特定的驱动程序提供透明的连接到异构数据库。...JDBC驱动程序管理器可确保正确的驱动程序来访问每个数据源。该驱动程序管理器能够支持连接到多个异构数据库的多个并发的驱动程序。...以下是JDBC结构图,它显示了驱动程序管理器方面的JDBC驱动程序和Java应用程序的位置: ? JDBC 常用API DriverManager 这个类管理数据库驱动程序的列表。...注册JDBC驱动程序 需要初始化驱动程序,以便可以程序中打开数据库的通信通道。

    52410

    浅析JDBC常用的类和接口——JDBC的Driver接口、DriverManager类、Connection接口

    二、Driver接口 1.在JDBC中,每个驱动程序一般会提供一个实现Dirver接口的类。当你在加载某一个Driver类,它自己实例化并向DriverManager注册这个实例。...在上面代码中,首先是声明一个字符串来保存com.mysql.jdbc的Driver类路径,使用Class.forName()方法来加载这个驱动,方便后续数据库连接。...四、DriverManager类 1.DriverManager类是用于加载JDBC驱动程序,并且创建和数据库连接,对于任何给定的连接请求,它会让每个驱动程序依次尝试连接到目标的URL。...的Driver类路径 String driver="com.mysql.jdbc.Driver"; //数据库地址,本机、端口号...3.介绍了DriverManager类,它是用于加载JDBC驱动程序,并且创建和数据库连接,对于任何给定的连接请求,它会让每个驱动程序依次尝试连接到目标的URL。

    1.8K40

    Java JDBC

    数据库驱动 我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。...其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件 二、常用接口 Driver接口 Driver接口由数据库厂家提供,作为java开发人员,只需要使用Driver...如: 装载MySql驱动: Class.forName("com.mysql.jdbc.Driver"); Connection接口 Connection与特定数据库的连接(会话),在连接上下文中执行sql...书写形式: 协议:子协议:数据源标识 协议:在JDBC中总是以jdbc开始子 协议:是桥连接的驱动程序或是数据库管理系统名称。...(url,user,password); } 使用配置文件(jdbc.properties)连接 jdbc.driver=com.mysql.jdbc.driver jdbc.url=jdbc:

    32420

    MySQL 异常:这一篇就够了,MySQL 抛出异常的几种常见解决方式小结

    (以 MySQL 8.0 为例) 这个错误是由于 MySQL 版本更新之后,驱动包发生改变导致的,新的驱动程序类是 com.mysql.cj.jdbc.Driver。...错误说明:不建议使用驱动类’com.mysql.jdbc.Driver’。...新的驱动程序类是’com.mysql.cj.jdbc.Driver’,驱动程序是通过 SPI 自动注册的,通常是不需要手动加载驱动类。...3.2、解决方式 将 MySQL 数据库 5.0 使用的驱动类com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver,驱动程序是通过 SPI 自动注册的,通常是不需要手动加载驱动类...无法识别或代表一个以上的时区。 4.2、解决方式 我们可以利用时区支持,通过配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)以使用更具体的时区值。 配置文件如下: <!

    2.7K30

    MySQL 异常有这一篇就够了!MySQL 抛出异常的几种常见解决方式小结

    三、MySQL 高版本配置加载驱动类包出错问题(以 MySQL 8.0 为例) 这个错误是由于 MySQL 版本更新之后,驱动包发生改变导致的,新的驱动程序类是 com.mysql.cj.jdbc.Driver...错误说明:不建议使用驱动类’com.mysql.jdbc.Driver’。...新的驱动程序类是’com.mysql.cj.jdbc.Driver’,驱动程序是通过 SPI 自动注册的,通常是不需要手动加载驱动类。...3.2、解决方式 将 MySQL 数据库 5.0 使用的驱动类com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver,驱动程序是通过 SPI 自动注册的,通常是不需要手动加载驱动类...无法识别或代表一个以上的时区。 4.2、解决方式 我们可以利用时区支持,通过配置服务器或 JDBC 驱动程序(通过 serverTimezone 配置属性)以使用更具体的时区值。 配置文件如下: <!

    3.8K21

    Java JDBC

    数据库驱动 我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。...其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件 二、常用接口 Driver接口 Driver接口由数据库厂家提供,作为java开发人员,只需要使用Driver...如: 装载MySql驱动: Class.forName("com.mysql.jdbc.Driver"); Connection接口 Connection与特定数据库的连接(会话),在连接上下文中执行sql...书写形式: 协议:子协议:数据源标识 协议:在JDBC中总是以jdbc开始子 协议:是桥连接的驱动程序或是数据库管理系统名称。...(url,user,password); } 使用配置文件(jdbc.properties)连接 jdbc.driver=com.mysql.jdbc.driver jdbc.url=jdbc:

    23630

    第27次文章:简单了解JDBC

    二、JDBC(Java Database Connection) 1、什么是JDBC JDBC为java开发者使用数据库提供了统一的编程接口,它由一组java类和接口组成。...2、访问数据库流程: 驱动管理器(加载JDBC驱动程序)——>连接数据库(建立与数据库的连接)——>SQL语句(发送SQL查询)——>结果集(得到查询结果) 3、 JDBC常用接口 (1)Driver接口...即对Connection等接口的实现类的jar文件 装载MySql驱动:Class.forName("com.mysql.jdbc.Driver"); 装载Oracle驱动:Class.forName(...;/** * 测试跟数据库建立连接 */public class Demo01 { public static void main(String[] args) { try { //加载驱动类...{ public static void main(String[] args) { try { //加载驱动类 Class.forName("com.mysql.jdbc.Driver

    38110
    领券