当前位置: 首页 > 知识库问答 >
问题:

能够连接到配置单元db而不需要加载HiveDriver类

范俊逸
2023-03-14

我能够连接到配置单元数据库并对其执行查询,而不需要加载org.apache.hive.jdbc.hivedRiver?这是怎么发生的?我们知道,如果要连接到任何数据库,首先需要使用class.forName(“完全限定的驱动程序类名”)加载驱动程序。但在我的例子中,我能够连接到配置单元数据库,而不需要编写上面的代码。下面是我的代码。Connection conn=DriverManager.getConnection(url、用户名、密码);

共有1个答案

禄豪
2023-03-14

“我们知道,如果我们想要连接到任何数据库,首先需要加载驱动程序”--好吧,你应该更新这个知识。

Oracle/Sun官方文档摘录:

  • https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html

在以前版本的JDBC中,要获得连接,首先必须通过调用class.forName
...
方法来初始化JDBC驱动程序,所有在类路径中找到的JDBC 4.0驱动程序都将自动加载。(但是,您必须使用class.forName方法手动加载JDBC 4.0之前的任何驱动程序)

  • https://docs.oracle.com/javase/7/docs/api/java/sql/drivermanager.html

作为初始化的一部分,DriverManager类将尝试加载jdbc.drivers系统属性中引用的驱动程序类。这允许用户自定义其应用程序使用的JDBC驱动程序
...
DriverManager方法getConnection和getDrivers已得到增强,以支持Java Standard Edition Service Provider机制。JDBC 4.0驱动程序必须包含文件meta-inf/services/java.sql.driver。此文件包含java.sql.driver的JDBC驱动程序实现的名称
...
应用程序不再需要使用class.forName()明确加载JDBC驱动程序。当前使用class.forName()加载JDBC驱动程序的现有程序将继续工作而不进行修改

 类似资料: