java - 我们可以添加多个 sql 驱动程序,如 OTD、MySQL Connector/J、PostgreSQL、SyBase JConnect 等吗?

标签 java mysql sql java-8

假设用户在他们的系统中安装了多个驱动程序,如 MySQL Connector/J 驱动程序、PostgreSQL 驱动程序等。为了注册驱动程序,我们使用“Class”类的 forName() 方法来注册驱动程序类。该方法用于动态加载驱动类。
例如:-

Class.forName(DRIVER_NAME);

有什么方法可以使用多个驱动程序,像这样:-

if (AS/400 Toolbox Driver) :: Class.forName("com.ibm.as400.access.AS400JDBCDriver");
else
if(Attunity Driver) :: Class.forName("com.attunity.jdbc.NvDriver");
else
if(MySQL Connector/J Driver) :: Class.forName("com.mysql.jdbc.Driver");

这样我们就可以让开发人员更灵活地在已安装的驱动程序之间进行选择。

最佳答案

自 Java 6 和 JDBC 4.0 发布以来,不再需要注册 JDBC 驱动程序

如果所需的基于 jar 的驱动程序实现位于类路径中,JDBC 将根据连接 URL 选择正确的驱动程序。

更多信息可在 How is driver class located in JDBC4 中提供的答案中找到.

关于java - 我们可以添加多个 sql 驱动程序,如 OTD、MySQL Connector/J、PostgreSQL、SyBase JConnect 等吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39218988/

相关文章:

python - Django 连接 mysql 出错

PHP从mysql表中获取最大数

php - CakePHP 1.3 - where 子句中的未知列

mySQL NATURAL JOIN 显示类似于 LEFT OUTER JOIN 的结果

java - 第一次调用prepareStatement工作正常,但第二次调用java.sql.SQLException : Connection has already been closed

java - Java 中 DateTime 对象之间的小数天数

mysql - 如何使用 MIN (MySQL) 从三个表中获取信息

python - 使用SQLAlchemy的查询from_statement()方法时如何选择*?

java - Java 中的简单堆栈实现不起作用

java - 自定义 java BarChart 缩放问题