Rumah > pangkalan data > tutorial mysql > Adakah Class.forName() Diperlukan untuk Pendaftaran Pemandu JDBC di Java 6 dan Kemudian?

Adakah Class.forName() Diperlukan untuk Pendaftaran Pemandu JDBC di Java 6 dan Kemudian?

DDD
Lepaskan: 2025-01-04 12:56:40
asal
606 orang telah melayarinya

Is Class.forName() Necessary for JDBC Driver Registration in Java 6 and Later?

DriverManager Pendaftaran Pemandu: Penggunaan Class.forName() dalam Java 6 dan Seterusnya

Soalan:

Sejak Java 6, Class.forName(JDBC_DRIVER) tidak lagi diperlukan untuk pendaftaran pemandu JDBC? Walaupun dokumentasi mencadangkan bahawa sifat sistem jdbc.drivers harus menyediakan laluan pemandu, mencetak sifat ini mengembalikan null. Mengapakah aplikasi masih berfungsi dengan betul?

Jawapan:

Penghapusan Class.forName() dalam Java 6 (dan JDBC4) tidak berkaitan dengan jdbc.drivers harta benda. Java memperkenalkan konsep "penyedia perkhidmatan" di mana pemandu yang mematuhi boleh mendaftar sendiri dengan JVM semasa permulaan.

Pendaftaran Penyedia Perkhidmatan:

Pemandu yang mematuhi tempat standard ini direktori perkhidmatan dalam fail JAR mereka dalam direktori META-INF. Direktori ini mengandungi fail teks bernama java.sql.Driver, yang menentukan kelas pelaksana.

Pengesanan Pemacu:

JVM secara automatik mengesan dan mendaftar pemacu yang melaksanakan antara muka ini . Ini menghapuskan keperluan untuk pendaftaran eksplisit menggunakan Class.forName() untuk pemacu yang mematuhi.

Fungsi Apl:

Dalam contoh yang disediakan, aplikasi mungkin masih berfungsi dengan betul walaupun nilai pulangan nol untuk System.getProperty("jdbc.drivers") jika:

  • Yang digunakan pemandu menyokong pendaftaran pembekal perkhidmatan.
  • Fail JAR pemandu termasuk direktori perkhidmatan yang diperlukan.

Atas ialah kandungan terperinci Adakah Class.forName() Diperlukan untuk Pendaftaran Pemandu JDBC di Java 6 dan Kemudian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan