JDBC Specification से हवाला देते हुए, अध्याय 9, धारा 2:
JDBC ड्राइवर को ड्राइवर इंटरफ़ेस को लागू करना चाहिए, और कार्यान्वयन एक स्थिर प्रारंभकर्ता कि बुलाया जाएगा जब चालक भरी हुई है शामिल होना चाहिए। यह प्रारंभकर्ता DriverManager के साथ स्वयं का एक नया उदाहरण पंजीकृत करता है। इस प्रकार
और एक उदाहरण कोड AcmeJdbcDriver के लिए प्रदान की जाती है:
public class AcmeJdbcDriver implements java.sql.Driver {
static {
java.sql.DriverManager.registerDriver(newAcmeJdbcDriver());
}
}
और जब आप Class.forName(String className) फोन API दस्तावेज़ के अनुसार, निम्न होता है:
forName लिए एक कॉल ("एक्स") एक्स नामक कक्षा को शुरू करने का कारण बनता है।
जहां प्रारंभिक स्थिति में स्थिर ब्लॉक में कोड शामिल किया गया है।
तो मूल रूप से, आप ड्राइवर वर्ग को प्रारंभ करते हैं, और बदले में क्लास java.sql के साथ स्वयं पंजीकृत होता है।जेडीबीसी विनिर्देश के अनुसार ड्राइवर प्रबंधक।
कृपया ध्यान दें, अब इसकी आवश्यकता नहीं है। विवरण here पाया जा सकता है।
DriverManager तरीकों getConnection और getDrivers जावा मानक संस्करण सेवा प्रदाता तंत्र का समर्थन करने के बढ़ाया गया है। जेडीबीसी 4.0 ड्राइवर्स में फाइल मेटा-आईएनएफ/सेवाएं/java.sql.Driver शामिल होना चाहिए। इस फ़ाइल में java.sql.Driver के जेडीबीसी ड्राइवर कार्यान्वयन का नाम शामिल है। उदाहरण के लिए, लोड करने के लिए my.sql.Driver वर्ग, META-INF/सेवाओं/java.sql.Driver फ़ाइल प्रवेश होते हैं:
my.sql.Driver
आवेदन नहीं रह गया है explictly का उपयोग कर JDBC ड्राइवर को लोड करने के लिए की जरूरत है कक्षा .forName()।
स्रोत
2017-05-21 06:08:31
आपके अच्छे स्पष्टीकरण के लिए धन्यवाद –
कोई समस्या नहीं, कक्षा/कक्षा की सामग्री थोड़ा कठिन हो सकती है अपने सिर को चारों ओर लपेटने के लिए। :) – chossenger