जावा में डेटाबेस कैसे कनेक्ट करें? - JDBC ट्यूटोरियल

यह लेख आपको बताएगा कि जावा में MySQL डेटाबेस को कैसे कनेक्ट किया जाए। JDBC जावा और डेटाबेस की एक विस्तृत श्रृंखला के बीच डेटाबेस-स्वतंत्र कनेक्टिविटी के लिए मानक जावा एपीआई में से एक है।

सबसे प्रमुख प्रोग्रामिंग भाषाओं में से एक होने के नाते, डेटाबेस को व्यापक समर्थन प्रदान करता है। यह हमें विभिन्न डेटाबेस से जुड़ने में मदद करता है (जावा डेटाबेस कनेक्टिविटी)। इस लेख में, मैं आपको बताऊंगा कि डेटाबेस से कैसे जुड़ें और JDBC का उपयोग करके प्रश्नों को निष्पादित करें।



इस लेख में नीचे विषय शामिल हैं:



JDBC का परिचय

JDBC डेटाबेस-स्वतंत्र कनेक्टिविटी के लिए मानक जावा एपीआई में से एक है और डेटाबेस की एक विस्तृत श्रृंखला।यह API आपको एक्सेस अनुरोध स्टेटमेंट्स को इनकोड करने देता है स्ट्रक्चर्ड क्वेरी लैंग्वेज ()एसक्यूएल) का है। यहमुख्य रूप से एक कनेक्शन खोलना, एक SQL डेटाबेस बनाना, SQL प्रश्नों को निष्पादित करना और फिर आउटपुट पर पहुंचना शामिल है।

def __init __ (स्व) अजगर

JDBC एपीआई का उपयोग किसी भी संबंधपरक डेटाबेस में संग्रहीत सारणीबद्ध डेटा तक पहुंचने के लिए किया जा सकता है। इसके साथ, आप डेटाबेस से डेटा को अपडेट, सहेज, प्राप्त और हटा सकते हैं। यह Microsoft द्वारा प्रदान की गई Open Database Connectivity (ODBC) के समान है।



JDBC के काम करने की बेहतर समझ के लिए, विषय में गहराई से गोता लगाएँ और जावा डेटाबेस कनेक्टिविटी के पीछे निहित वास्तुकला को समझें।

सामान्य JDBC घटक

JDBC API निम्नलिखित इंटरफेस और कक्षाएं और माइनस प्रदान करता है

  • DriverManager: यह मुख्य रूप से डेटाबेस ड्राइवरों की एक सूची का प्रबंधन करने के लिए उपयोग किया जाता है। एक निश्चित उप-प्रोटोकॉल को पहचानने वाले ड्राइवर का उपयोग डेटाबेस कनेक्शन स्थापित करने के लिए किया जाएगा।



  • चालक एक इंटरफ़ेस है जो डेटाबेस सर्वर के साथ संचार को संभालता है। यह विवरण को भी सार करता हैड्राइवर ऑब्जेक्ट्स के साथ काम करते समय जुड़े होते हैं।

  • एक जुड़ाव एक इंटरफ़ेस है जो डेटाबेस से जुड़ने के लिए आवश्यक सभी विधियों से युक्त होता है। कनेक्शन ऑब्जेक्ट डेटाबेस के संचार कार्यों से संबंधित है। संदर्भ।

अब अगले विषय पर चलते हैं और JDBC एप्लिकेशन बनाने के लिए आवश्यक चरणों को देखते हैं।

JDBC एप्लिकेशन बनाने के लिए चरण

JDBC एप्लिकेशन बनाने के लिए, आपको कुछ चरणों का पालन करना होगा। आइए देखते हैं कि वे क्या हैं

JDBC अनुप्रयोग बनाने के लिए कदम - उन्नत जावा ट्यूटोरियल - एडुर्का

  1. पैकेज आयात करें: आपको उन सभी पैकेजों को शामिल करने की आवश्यकता है जिनमें JDBC वर्ग की आवश्यकता है डेटाबेस प्रोग्रामिंग । सबसे अधिक बार, उपयोग करते हुए आयात java.sql। * पर्याप्त होगा।

  2. JDBC ड्राइवर पंजीकृत करें: यहां आपको एक ड्राइवर को इनिशियलाइज़ करना होगा ताकि आप डेटाबेस के साथ एक संचार चैनल खोल सकें।

  3. एक कनेक्शन खोलें: यहाँ, आप का उपयोग कर सकते हैं getConnection () एक कनेक्शन ऑब्जेक्ट बनाने की विधि, जो डेटाबेस के साथ एक भौतिक कनेक्शन का प्रतिनिधित्व करती है।

    स्विंग जावा का उपयोग कैसे करें
  4. एक क्वेरी निष्पादित करें: यह वास्तव में डेटाबेस के लिए एसक्यूएल स्टेटमेंट बनाने और सबमिट करने के लिए टाइप स्टेटमेंट की एक वस्तु का उपयोग करने की आवश्यकता है।

  5. परिणाम सेट से डेटा निकालें: यह सुझाव दिया जाता है कि आप उपयुक्त का उपयोग करें getXXX () परिणाम सेट से डेटा को पुनः प्राप्त करने की विधि।

  6. पर्यावरण को साफ करें: यहां, यह आवश्यक हैस्पष्ट रूप से JVM के कचरा संग्रह पर निर्भर होने वाले सभी डेटाबेस संसाधनों को बंद करें।

अब जैसा कि आपने JDBC Application बनाने के लिए विभिन्न चरणों को देखा है, आइए डेटाबेस बनाने और कनेक्शन स्थापित करने के लिए एक उदाहरण कोड देखें।

पैकेज Edureka import java.sql। * import java.sql.DriverManager पब्लिक क्लास उदाहरण {// JDBC ड्राइवर का नाम और डेटाबेस URL स्टेटिक फाइनल स्ट्रिंग JDBC_DRIVER = 'com.mysql .jdbc.Driver' स्टेटिक फाइनल स्ट्रिंग DB_URL = 'jdbc: mysql // localhost / emp '// डेटाबेस क्रेडेंशियल स्टैटिक फाइनल स्ट्रिंग USER =' रूट 'स्टैटिक फाइनल स्ट्रिंग PASS =' 'पब्लिक स्टेटिक शून्य मेन (स्ट्रिंग [] args) {कनेक्शन कनवर्टर = null स्टेटमेंट stmt = null {// STEP 2 : रजिस्टर JDBC ड्राइवर Class.forName ('com.mysql.cj.jdbc.Driver') // STEP 3: एक कनेक्शन खोलें System.out.println ('डेटाबेस से कनेक्ट हो रहा है ...') con = manManager.getConnection (DB_URL , 'रूट', '') // STEP 4: एक क्वेरी निष्पादित करें System.out.println ('स्टेटमेंट क्रिएट ...') stmt = conn.createStatement () स्ट्रिंग sql sql = 'सेलेक्ट आईडी, पहले, अंतिम, अंतिम, आयु कर्मचारियों के परिणाम rs = stmt.executeQuery (sql) // STEP 5: परिणाम सेट से डेटा निकालें (rs.next ()) {// स्तंभ नाम int id = rgetgetInt ('id') int age से प्राप्त करें = rs.getInt ('आयु') स्ट्रिंग पहले = rs.getString ('प्रथम') स्ट्रिंग अंतिम = rs.getString ('अंतिम') // प्रदर्शन मान System.out.print ('ID:' + id) System.out.print (', आयु:' + आयु) System.out.print (', पहला) : '+ पहला) System.out.println (', लास्ट: '+ लास्ट)} // STEP 6: क्लीन-अप एनवायरनमेंट rs.close () stmt.close () conn.close ()} कैच (SQPxception se) {// JDBC के लिए हैंडल त्रुटियां se.printStackTrace ()} कैच (एक्सेप्शन e) {// Class.forName e.printStackTrace ()} के लिए हैंडल एरर। आखिरकार {// (stmt!) संसाधनों को बंद करने की कोशिश में अंत में ब्लॉक का उपयोग करें null) stmt.close ()} catch (SQLException se2) {} // कुछ भी नहीं किया जा सकता है {if (conn! = null) conn.close ()} catch (SQLException se) 'se_printStackTrace ()} // अंत में कोशिश करो} // अंत कोशिश करो System.out.println (Good अलविदा! ’)} // अंत मुख्य} // अंत उदाहरण

उपरोक्त कोड आपके लोकलहोस्ट डेटाबेस में एक टेबल बनाता है। बनाए गए डेटाबेस में मान सम्मिलित करने के लिए, आप नीचे दिए गए कोड का उल्लेख कर सकते हैं। मैं केवल चरण 4 के लिए कोड लिखूंगा। बाकी कोड ऊपर जैसा ही है।

// STEP 4: एक क्वेरी निष्पादित करें System.out.println ('दिए गए डेटाबेस में तालिका बना रहा है ...') stmt = conn.createStatement () स्ट्रिंग sql = 'क्रिएटिव टेबल एम्प्लॉयस + +' (आईडी INTEGER नहीं NULL, '+ 'पहले वाराहर (255),' + 'अंतिम वाराहर (255),' + 'उम्र इंटीजर,' + 'प्राथमिक कुंजी (आईडी))' stmt.executeUpdate (sql) System.out.println ('दिए गए डेटाबेस में तालिका') ... ') System.out.println (' तालिका में अभिलेख सम्मिलित करना ... ') stmt = conn.createStatement () स्ट्रिंग sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift) , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'लिंकिन', 'पार्क', 28) 'stmt.executeppdate (sql) System.out.println (' सम्मिलित किए गए रिकॉर्ड्स तालिका में दर्ज किए गए हैं। .. ')

तो यह है कि आप डेटाबेस से कनेक्शन कैसे स्थापित कर सकते हैं और तालिकाओं में मान डाल सकते हैं। अब आगे बढ़ते हैं और विभिन्न JDBC ड्राइवर प्रकारों को समझते हैं

JDBC ड्राइवर प्रकार

JDBC ड्राइवरों का उपयोग JDBC एपीआई में परिभाषित इंटरफेस को लागू करने के लिए किया जाता है, डेटाबेस सर्वर के साथ बातचीत के लिए।अनिवार्य रूप से, ए JDBC ड्राइवर तीन काम करता है और वे इस प्रकार हैं:
1. डेटा स्रोत के साथ संबंध स्थापित करता है।
2. यह डेटा स्रोत पर क्वेरी और अपडेट स्टेटमेंट भेजेगा।
3. अंत में, यह परिणामों को संसाधित करता है।

उदाहरण के लिए, JDBC ड्राइवर आपको भेजकर बातचीत करने के लिए डेटाबेस कनेक्शन खोलने में मदद करते हैं । यदि आप JDBC ड्राइवर के प्रकारों के बारे में अधिक जानना चाहते हैं, तो आप इस लेख को देख सकते हैं ।

अब आगे बढ़ते हैं और JDBC कनेक्शंस को समझते हैं।

JDBC कनेक्शन

  • JDBC पैकेज आयात करें: जोड़ें आयात अपने बयान अपने जावा कोड में आवश्यक कक्षाएं आयात करने के लिए।

    ansible बनाम कठपुतली बनाम शेफ
  • रजिस्टर JDBC ड्राइवर: टी में उसका कदम, वांछित ड्राइवर कार्यान्वयन को मेमोरी में लोड करना ताकि वह JDBC अनुरोधों को पूरा कर सके। ड्राइवर को पंजीकृत करने के लिए 2 दृष्टिकोण हैं।

    • ड्राइवर का पंजीकरण करने के लिए सबसे उपयुक्त तरीका जावा का उपयोग करना है नाम () ड्राइवर की क्लास फ़ाइल को गतिशील रूप से मेमोरी में लोड करने की विधि , जो स्वचालित रूप से इसे पंजीकृत करता है। यह विधि उपयुक्त है क्योंकि यह आपको ड्राइवर पंजीकरण को विन्यास और पोर्टेबल बनाने की अनुमति देता है। नीचे दिए गए कोड पर एक नज़र डालें:

      {class.forName ('oracle.jdbc.driver.OracleDriver')} कैच (ClassNotFoundException Ex) System.out.println ('त्रुटि: ड्राइवर वर्ग को लोड करने में असमर्थ!) (System) को खोजें। (1)}
    • दूसरा दृष्टिकोण जो आप ड्राइवर को पंजीकृत करने के लिए उपयोग कर सकते हैं वह है स्थैतिक का उपयोग करना रजिस्टरड्राइवर () तरीका।

      {ड्राइवर myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} कैच (ClassNotFoundException Ex) {system.out.println ('त्रुटि: ड्राइवर वर्ग को लोड करने में असमर्थ है!') System.exit (1) )}
  • आपको उपयोग करना चाहिए रजिस्टरड्राइवर () विधि यदि आप गैर-JDK अनुरूप JVM का उपयोग कर रहे हैं, जैसे कि Microsoft द्वारा प्रदान किया गया। यहां प्रत्येक फॉर्म के लिए डेटाबेस की आवश्यकता होती है URL

  • डेटाबेस URL निर्माण: URL फॉर्म्युलेशन उस फॉर्मेट को ठीक से फॉर्मेट करने के लिए आवश्यक है जो उस डेटाबेस की ओर इशारा करता है जिससे आप कनेक्ट करना चाहते हैं। एक बार जब आप ड्राइवर को लोड करते हैं, तो आप कनेक्शन का उपयोग करके कनेक्शन स्थापित कर सकते हैं DriverManager.getConnection () तरीका। DriverManager.getConnection () विधियाँ और ऋण हैं

    • getConnection (स्ट्रिंग url)

    • getConnection (स्ट्रिंग url, गुण प्रोप)

    • getConnection (स्ट्रिंग url, स्ट्रिंग उपयोगकर्ता, स्ट्रिंग पासवर्ड)

  • एक कनेक्शन ऑब्जेक्ट बनाएँ

आप डेटाबेस URL, उपयोगकर्ता नाम और पासवर्ड का उपयोग कर और ऑब्जेक्ट ऑब्जेक्ट का उपयोग करके एक कनेक्शन बना सकते हैं।

  • बंद करे

अंत में, डेटाबेस सत्र को समाप्त करने के लिए, आपको सभी डेटाबेस कनेक्शनों को बंद करने की आवश्यकता है। हालाँकि, यदि आप भूल जाते हैं, तो जावा का कचरा संग्रहक तब बंद हो जाएगा जब यह बासी वस्तुओं को साफ कर देगा।

con.close () // कनेक्शन बंद करने के लिए उपयोग किया जाता है

यह सब जावा डेटाबेस कनेक्टिविटी के बारे में था। यदि आप JDBC के बारे में अधिक जानना चाहते हैं, तो आप इस लेख को देख सकते हैं । यह हमें us डेटाबेस से कनेक्ट करने के तरीके ’पर लेख के अंत में लाता है। मुझे आशा है कि मैंने JDBC पर आपके ज्ञान पर कुछ प्रकाश डाला है।

इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने के लिए हैं, इस साक्षात्कार साक्षात्कार के अलावा बनने के लिए, हम एक पाठ्यक्रम के साथ आते हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया इसे 'डेटाबेस से कैसे जुड़ें' लेख के टिप्पणी अनुभाग में उल्लेख करें और हम आपको जल्द से जल्द वापस मिलेंगे।