JDBC以反射機制加載類註冊驅動連接MySQL

package test.jdbc;

//JDBC註冊驅動的另一種方式:(這種方式常用)

/*

如何讓一個類的靜態代碼塊執行?

所以直接反射此處要學習到的這個類,class文件。這個類就會被加載進JVM,靜態代碼塊在類加載時執行,所以就註冊瞭

就是利用反射來加載Driver類,利用類中的靜態代碼塊實現對驅動的註冊

那麼如何加載這個類?

非常簡單:反射機制!   Class.forName("com.mysql.jdbc.Driver");

Class.forName(類名);  這個類的執行會導致後面類的加載!

//1 註冊驅動

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

//這裡我們不需要接收返回值,因為我們主要需要的是類加載這個動作,且隻需要這個動作!。

//因為雙引號括起來是字符串,字符串可以寫到配置文件當中,

//這種方法常用是因為字符串可以寫到文件中!

//但是這樣不行,因為Class這個類會有異常,我們需要使用trycatch語句塊來環繞

package test.jdbc;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
//JDBC註冊驅動的另一種方式:(這種方式常用)
/*
如何讓一個類的靜態代碼塊執行?
所以直接反射此處要學習到的這個類,class文件。這個類就會被加載進JVM,靜態代碼塊在類加載時執行,所以就註冊瞭
就是利用反射來加載Driver類,利用類中的靜態代碼塊實現對驅動的註冊
那麼如何加載這個類?
非常簡單:反射機制!   Class.forName("com.mysql.jdbc.Driver");
Class.forName(類名);  這個類的執行會導致後面類的加載!
 */
public class JDBC3 {
    public static void main(String[] args) {
        //1 註冊驅動
        //這裡我們不需要接收返回值,因為我們主要需要的是類加載這個動作,且隻需要這個動作!。
        //因為雙引號括起來是字符串,字符串可以寫到配置文件當中,
        //這種方法常用是因為字符串可以寫到文件中!
        try {
            Class.forName("com.mysql.jdbc.Driver");
            //2 獲取連接
            Connection connection = DriverManager.getConnection("", "root", "rota");
            //
            System.out.println(connection);
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
 
    }
 
}

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: