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
647 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!

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