Itu mendaftarkannya karena memuat kelas ke dalam memori dan menjalankan inisialisasi statis kelas. Kode penginisialisasi statis kemudian memanggil kerangka kerja JDBC untuk mengatakan "Hai, saya seorang pengemudi JDBC" (dengan memanggil DriverManager.registerDriver
).
Misalnya, kelas driver akan terlihat samar-samar seperti ini:
package com.example.jdbc;
import java.sql.DriverManager;
public class Driver implements java.sql.Driver {
static {
DriverManager.registerDriver(new Driver());
}
// ...implementation...
}
Kemudian ketika Anda melakukan Class.forName("com.example.jdbc.Driver")
, itu memuat kelas dan menjalankan penginisialisasi statis, yang membuat sebuah instance dan mendaftarkannya dengan DriverManager
.
Saya harus mencatat bahwa seperti yang dikatakan Andreas , driver JDBC modern tidak memerlukan Anda untuk melakukan ini.