导入数据库驱动

时间:2012-10-28 14:24:06

标签: java mysql jdbc

为什么每次每个人都导入(或者这不是导入)

Class.forName("com.mysql.jdbc.Driver").newInstance();

当我

import com.mysql.jdbc.Driver;

显示通知

  

他从不使用导入com.mysql.jdbc.Driver

这两者有什么不同?

2 个答案:

答案 0 :(得分:3)

如果您实际上并不知道必须加载哪个类,那么请选择工厂方法 在您的情况下,它是数据库驱动程序类的Class.forName 它是JVM加载类的运行时指令,因此在这种情况下不需要import ...语句。

如果您使用import ...特定类,Java编译器会在编译的类中使用它之前尝试查找并加载它。在您的示例中,当您导入类并且从不在代码中使用它时,通常IDE就像您编写代码的MyEclipse一样,您将收到通知,即导入的类从未使用过。它不是错误或警告,但您可以安全地删除以减少编译器的负载。

答案 1 :(得分:2)

使用Class.forName时不需要导入,因为它使用Reflection