調用Class.forName("com.mysql.jdbc.Driver"); 加載mysql的驅動類進內存,那么就會在DriverManager中注冊自己,注冊的意思簡單來說就是DriverManager中保持一個Driver引用指向了自己,但是具體的實現可能不同。
然后嗲用DriverManager.getConnection方法得到連接對象, 這里運用到了簡單工廠方法,即根據傳進去得參數來具體實例化哪個驅動類。
可能是mysql的驅動類, 也可能是Oracle的驅動類, 具體的由傳進去的參數來決定。
當得到Connection對象后就沒DriverManager和Driver類什么事了。
Connection一個接口,但是它指向了具體的Connection子類對象。
通過Connection中定義的接口,就能夠訪問數據庫了。
所以總得來說,如果要改變當前使用的數據庫,那么只需要改變兩個地方,
Class.forName(具體的參數)
DriverManager.getConnection(具體的參數)
所以我們可以在配置文件中配置這兩個參數,那么我們就可以在程序運行的時候動態地改變所使用的數據庫,只需要更改配置文件就行了。
當然了,程序肯定要有數據庫第三方jar包。