【发布时间】:2018-11-19 22:53:40
【问题描述】:
在 JDBC 中,我只看到使用示例
Class.forName("com.mysql.jdbc.Driver", true, cl);
还没看到有人用过
import com.mysql.jdbc.Driver;
是不是因为我们想让一个驱动包在执行时动态提供,所以只能在执行时知道?
如果我们在执行之前有一个已知的固定驱动程序包,是否可以采用第二种方式?您如何比较这两种方式?
谢谢。
【问题讨论】:
-
可以使用特定于供应商的类。 JDBC API 的主要设计目的是提供一种以与供应商无关的可移植方式与数据库交互的标准方式。
-
您的意思是使用
import com.mysql.jdbc.Driver;意味着我必须使用特定于vencor 的类吗?import com.mysql.jdbc.Driver;不能和 JDBC API 一起使用吗? -
您永远不需要直接使用
Driver类,它不是 API 的成员 - 只是提供实际接口实现的东西。主要 API 由DriverManager、Connection、Statement和ResultSet组成。现在,您不需要直接加载Driver类,而是使用DriverManager#getConnection和适当的String参数。
标签: java jdbc import dynamic-loading