java—能够连接到HiveDB,而无需加载hivedriver类

9njqaruj  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(331)

我能够连接到hive数据库并对其执行查询,而无需加载org.apache.hive.jdbc.hivedriver?这是怎么发生的?我们知道,如果要连接到任何数据库,首先需要使用class.forname(“fullyqualified driver class name”)加载驱动程序。但在我的例子中,我可以连接到hivedb而不必编写上述代码。下面是我的代码。connection conn=drivermanager.getconnection(url、用户名、密码);

yvt65v4c

yvt65v4c1#

“我们知道,如果我们想连接到任何数据库,首先我们需要加载驱动程序”--好吧,你一定要更新这些知识。。。
oracle/sun官方文档摘录:
https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
在以前版本的jdbc中,要获得连接,首先必须通过调用方法初始化jdbc驱动程序 Class.forName ...
在类路径中找到的任何JDBC4.0驱动程序都将自动加载(但是,必须使用该方法手动加载JDBC4.0之前的任何驱动程序 Class.forName )
https://docs.oracle.com/javase/7/docs/api/java/sql/drivermanager.html
作为初始化的一部分,drivermanager类将尝试加载 jdbc.drivers 系统属性。这允许用户自定义应用程序使用的jdbc驱动程序
...
drivermanager方法getconnection和getdrivers得到了增强,以支持java标准版服务提供程序机制。JDBC4.0驱动程序必须包含 META-INF/services/java.sql.Driver . 此文件包含java.sql.driver的jdbc驱动程序实现的名称
...
应用程序不再需要使用class.forname()显式加载jdbc驱动程序。当前使用class.forname()加载jdbc驱动程序的现有程序将继续工作,无需修改

相关问题