Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Class.forName(com.mysql.jdbc.Driver) को कॉल करना JDBC के लिए MySQL को पंजीकृत क्यों करता है?

यह इसे पंजीकृत करता है क्योंकि यह कक्षा को स्मृति में लोड करता है और कक्षा के स्थिर प्रारंभकर्ताओं को चलाता है। स्टैटिक इनिशियलाइज़र कोड तब JDBC फ्रेमवर्क में "हाय देयर, आई एम ए जेडीबीसी ड्राइवर" कहने के लिए कॉल करता है (DriverManager.registerDriver )।

उदा., ड्राइवर वर्ग अस्पष्ट दिखेगा इस तरह:

package com.example.jdbc;

import java.sql.DriverManager;

public class Driver implements java.sql.Driver {
    static {
        DriverManager.registerDriver(new Driver());
    }

    // ...implementation...
}

फिर जब आप Class.forName("com.example.jdbc.Driver") . करते हैं , यह कक्षा को लोड करता है और स्थिर प्रारंभकर्ता चलाता है, जो एक उदाहरण बनाता है और इसे DriverManager के साथ पंजीकृत करता है ।

मुझे ध्यान देना चाहिए कि जैसा कि एंड्रियास कहते हैं , आधुनिक JDBC ड्राइवरों को आपको ऐसा करने की आवश्यकता नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक और तारीख समय प्रश्न

  2. मैसकल को स्वचालित रूप से पुनरारंभ करें जब ईसी 2 माइक्रो इंस्टेंस पर उबंटू स्मृति से बाहर होने पर इसे मारता है

  3. प्रत्येक पंक्ति के लिए MySQL ऑटो-स्टोर डेटाटाइम

  4. WHERE स्टेटमेंट के बिना INT तुलना

  5. दूसरे दिन से खर्च किए गए घंटों की गणना करने और अगले दिन समाप्त होने के लिए SQL क्वेरी