關於JDBC連接Class.forName()的思考

使用JDBC的時候,我們都會按照推薦的加入下面一條語句:

Class.forName("com.mysql.jdbc.Driver");

這條語句如果不添加就會錯誤,但是這條語句好像只是加載了一個類而已,沒有執行任何操作。那麼爲什麼必須添加這條語句呢?

我們切進去看一下com.mysql.jdbc.Driver源碼:

 static {

        try {

            java.sql.DriverManager.registerDriver(new Driver());

        } catch (SQLException E) {

            throw new RuntimeException("Can't register driver!");

        }

    }

根據我們之前對類加載的知識,很明顯會執行靜態塊,因此會執行java.sql.DriverManager.registerDriver(new Driver());這樣就加載了驅動類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章