当前位置: 首页 > 面试题库 >

Java连接到数据库时,Class.forName(“ oracle.jdbc.driver.OracleDriver”)的实际用途是什么?

璩浩广
2023-03-14
问题内容

命令会是什么

Class.forName("oracle.jdbc.driver.OracleDriver")

连接到Oracle数据库时该怎么做?是否有另一种做同一件事的方式?


问题答案:

它使用FQCN(完全限定的类名)获取对类对象的引用oracle.jdbc.driver.OracleDriver

除了确保指定的类由当前的classloader加载之外,它在连接数据库方面不做任何事情。写作之间没有根本区别

Class<?> driverClass = Class.forName("oracle.jdbc.driver.OracleDriver");
// and
Class<?> stringClass = Class.forName("java.lang.String");

Class.forName("com.example.some.jdbc.driver")调用显示在使用JDBC的旧代码中,因为这是加载JDBC驱动程序的旧方法。

从Java教程

在早期版本的JDBC中,要获得连接,首先必须通过调用方法来初始化JDBC驱动程序Class.forName。此方法需要一个类型的对象java.sql.Driver。每个JDBC驱动程序包含一个或多个实现该接口的类java.sql.Driver

在类路径中找到的所有JDBC 4.0驱动程序都会自动加载。(但是,你必须使用方法在JDBC 4.0之前手动加载任何驱动程序Class.forName。)



 类似资料:
  • 问题内容: 在Java中,接口的任何使用都由抽象类实现。我知道接口的一个优点是,如果我们实现一个接口,那么我们也可以扩展另一个类。Java接口还有其他用途或优点吗? 问题答案: 您喜欢什么:在一个Abstract类中成千上万个抽象方法并继承该类,或者为特定的抽象方法创建尽可能多的接口,并通过继承所需的任意数量的接口来仅使用您想要的那些方法… 因此,仅通过继承特定接口使用该方法即可,如果您要继承类,

  • null 提前谢了。

  • 问题内容: ECMAScript 6中引入的数据结构的实际用途是什么? 由于弱映射的键会对其对应的值建立强引用,因此确保只要弱键仍处于活动状态,插入到弱映射中的值就 永远不会 消失,因此不能将其用于备忘录表,缓存或通常使用弱引用,具有弱值的映射等的其他任何内容。 在我看来,这是: …只是一种回旋的说法: 我缺少哪些具体用例? 问题答案: 从根本上 WeakMaps提供了一种从外部扩展对象而不干扰垃

  • ECMAScript 6中引入的数据结构的实际用途是什么? 由于弱映射的键创建对其对应值的强引用,确保插入到弱映射中的值在其键仍处于活动状态时永远不会消失,因此它不能用于备注表、缓存或您通常使用弱引用、具有弱值的映射等的任何其他内容。 在我看来: …只是一种迂回的说法: 我缺少哪些具体的用例?

  • 问题内容: 我正在尽最大的努力来解决JavaScript闭包问题。 通过返回一个内部函数,我可以访问其直接父级中定义的任何变量。 这对我有用吗?也许我还没有完全解决这个问题。我在网上看到的大多数示例都没有提供任何真实的代码,只是模糊的示例。 有人可以告诉我现实世界中使用闭包吗? 例如这个吗? 问题答案: 我用闭包来做类似的事情: 如您所见,现在有一个对象,带有一个方法()调用,该方法仅存在于闭包内

  • 当function.identity()返回与它接收到的相同的东西时,我为什么要使用它,而不使用输入或以某种方式修改输入? 这一定有一些实际的用法,但我不知道。