咱們能夠用自定義的 URLClassLoader 從外部動態加載類,並使用它。但數據庫驅動的管理類 DriverManager 卻不比較苛刻,不認可非當前應用系統加載器加載的驅動類。見 DriverManager 的 JavaDoc html
When the method
getConnection
is called, theDriverManager
will attempt to locate a suitable driver from amongst those loaded at initialization and those loaded explicitly using the same classloader as the current applet or applicationjava
對於有有應用自定義類加載器加載數據庫驅動類的需求時,就要對原 Driver 簡單包裝一下。繼續日後會說介紹爲何要這麼作。sql
說明一下,DriverManager 可以根據 JDBC 鏈接字符串匹配到驅動類,因此通常來講都不須要顯式調用 DriverManager.registerDriver() 方法。數據庫
先看 DriverManager 在應用外部驅動類時會出現什麼狀況 閱讀全文 >>api