从Java 1.6和JDBC 4.0 API开始,它提供了一项新功能,可以自动发现java.sql.Driver
,这意味着不再需要Class.forName
。 只要将任何JDBC 4.x驱动程序放在项目类路径中,Java就能检测到它。
例如,用于PostgreSQL的JDBC驱动程序:
pom.xml
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency>
它的工作原理是:
package com.mkyong.jdbc;
import java.sql.*;
public class JDBCExample {
public static void main(String[] args) {
try {
// this is optional @since 1.6
// Class.forName("org.postgresql.Driver");
// auto close connection
try (Connection conn =
DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/test",
"postgres", "password")) {
Statement statement = conn.createStatement();
//...
}
} catch (Exception e) {
System.err.println("Something went wrong!");
e.printStackTrace();
}
}
}
参考文献
标签: jdbc
翻译自: https://mkyong.com/jdbc/jdbc-class-forname-is-no-longer-required/