From Gossip@Openhome

Java Gossip: 連接資料庫 - JDBC 4.0

在JDBC 4.0之前,如果您要連接資料庫的話,必須使用Class.forName()並指定驅動程式類別名稱,以載入JDBC驅動程式,例如:
String url = …;
String username = …;
String password = …;
String driver = …;
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);


在JDBC 4.0之中,不需要再呼叫Class.forName()並指定驅動程式了,也就是說,只要一行就可以了:
String url = …;
String username = …;
String password = …;
Connection conn = DriverManager.getConnection(url, username, password);

那麼JVM如何得知要載入哪個驅動程式呢?JVM會自動在Classpath中尋找適當的驅動程式,在包裝有JDBC驅動程式的JAR檔案中,必須有一個 "META-INF/services/java.sql.Driver"檔案,當中撰寫驅動程式類別名稱,以JDK6所附的 Apache Derby 為例,在JDK目錄/db/lib/derbyclient.jar中的"META-INF/services/java.sql.Driver"檔案 中,撰寫的是"org.apache.derby.jdbc.ClientDriver "。