java jdbc tutorial what is jdbc
मूल के साथ शुरू, यह JDBC ट्यूटोरियल जावा डेटाबेस कनेक्टिविटी (JDBC) में घटकों, वास्तुकला और ड्राइवरों के प्रकारों की व्याख्या करता है:
यह ट्यूटोरियल बताता है कि JDBC क्या है, इसके संस्करण अब तक जारी किए गए हैं, JDBC, ड्राइवर्स के प्रकार, आदि के साथ आगे बढ़ने से पहले किन-किन आवश्यकताओं की आवश्यकता होती है, इस ट्यूटोरियल के अंत में, आप जावा डेटाबेस कनेक्टिविटी या JDBC की मूल बातें जानेंगे और कहाँ क्या हम इसका उपयोग कर सकते हैं?
इस ट्यूटोरियल को JDBC की मूल बातें के साथ शुरू करें।
आप क्या सीखेंगे:
जावा JDBC ट्यूटोरियल की सूची
ट्यूटोरियल # 1: JDBC (जावा डेटाबेस कनेक्टिविटी) क्या है (यह ट्यूटोरियल)
ट्यूटोरियल # 2: जावा JDBC कनेक्शन ट्यूटोरियल प्रोग्रामिंग उदाहरण के साथ
ट्यूटोरियल # 3: JDBC DriverManager, JDBC रेडीस्टेडमेंट और स्टेटमेंट
ट्यूटोरियल # 4: JDBC रिजल्टसेट: डेटा को वापस लेने के लिए जावा रिजल्टसेट का उपयोग कैसे करें
ट्यूटोरियल # 5: उदाहरण के साथ जावा जेडीबीसी लेनदेन प्रबंधन
ट्यूटोरियल # 6: JDBC अपवाद हैंडलिंग - SQL अपवाद को कैसे हैंडल करें
ट्यूटोरियल # 7: JDBC बैच प्रसंस्करण और संग्रहीत प्रक्रिया ट्यूटोरियल
ट्यूटोरियल # 8: शीर्ष 25+ JDBC साक्षात्कार प्रश्न और उत्तर
JDBC क्या है
अधिकांश जावा अनुप्रयोगों में, डेटा को पुनः प्राप्त करने, हेरफेर करने और संसाधित करने के लिए डेटाबेस के साथ बातचीत करने की आवश्यकता होती है। इस उद्देश्य के लिए, जावा जेडीबीसी को पेश किया गया है।
JDBC जावा डेटाबेस कनेक्टिविटी के लिए आमतौर पर इस्तेमाल किया जाने वाला संक्षिप्त रूप है। JDBC का उपयोग करके, हम विभिन्न प्रकार के रिलेशनल डेटाबेस जैसे Oracle, MySQL, MS Access इत्यादि के साथ बातचीत कर सकते हैं।
JDBC से पहले ODBC API को डेटाबेस से जुड़ने और संचालन करने के लिए पेश किया गया था। ODBC एक ODBC ड्राइवर का उपयोग करता है जो प्लेटफ़ॉर्म-निर्भर है क्योंकि यह C प्रोग्रामिंग भाषा में लिखा गया था। JDBC API जावा भाषा में लिखा गया है, प्लेटफ़ॉर्म-इंडिपेंडेंट है और जावा प्लेटफ़ॉर्म-इंडिपेंडेंट बनाता है।
नीचे आरेख JDBC के मूल प्रवाह को दर्शाता है:
JDBC के संस्करण
प्रारंभ में, सन माइक्रोसिस्टम्स ने 19 फरवरी, 1997 को JDK 1.1 में JDBC जारी किया था। उसके बाद, यह जावा प्लेटफ़ॉर्म का हिस्सा रहा है।
निम्न तालिका में JDBC संस्करण और कार्यान्वयन शामिल हैं:
JDBC संस्करण | JDK कार्यान्वयन | साल |
---|---|---|
JDBC 4.3 | जावा एसई 9 | 2017 |
JDBC 1.2 | JDK 1.1 | 1997 |
JDBC 2.1 | JDK 1.2 | 1999 |
JDBC 3.0 | जेडीके 1.4 | 2001 |
JDBC 4.0 | जावा एसई 6 | 2006 |
JDBC 4.1 | जावा एसई 7 | 2011 |
JDBC 4.2 | जावा एसई 8 | 2014 |
शर्त
JDBC ट्यूटोरियल के साथ आगे बढ़ने से पहले, आपको जावा के बारे में अच्छी जानकारी होनी चाहिए ताकि आप जावा प्रोग्राम में JDBC का उपयोग कर सकें।
=> अनुशंसित पढ़ना: जावा ट्यूटोरियल
जावा अनुप्रयोगों में जेडीबीसी को लागू करने के लिए आवश्यक शर्तें इस प्रकार हैं:
१। जावा को उस सिस्टम में इंस्टॉल किया जाना चाहिए जहां आप जावा एप्लिकेशन बनाना चाहते हैं और जेडीबीसी का उपयोग कर सकते हैं।
इसका संदर्भ लें संपर्क जावा स्थापना के लिए।
२। DBMS से जुड़ने के लिए आपके पास उचित JDBC ड्राइवर जार फाइलें होनी चाहिए। प्रत्येक डेटाबेस में अलग-अलग JDBC ड्राइवर जार फाइलें होती हैं।
आप निम्न तालिका में लिंक का उपयोग करके विशिष्ट डेटाबेस के लिए इन फ़ाइलों को डाउनलोड कर सकते हैं:
डेटाबेस डाउनलोड लिंक के साथ | JDBC ड्राइवर प्रदाता का नाम | JAR फ़ाइल का नाम |
---|---|---|
माई एसक्यूएल | ओरेकल कॉर्पोरेशन | माई एसक्यूएलmysql-कनेक्टर-जावा-वर्सन.जर |
आकाशवाणी | ओरेकल कॉर्पोरेशन | आकाशवाणीojdbc8.jar |
एस क्यू एल सर्वर | माइक्रोसॉफ़्ट कॉर्पोरेशन | एस क्यू एल सर्वरsqljdbc41.jar, sqljdbc42.jar |
पोस्टग्रे एसक्यूएल | PostgreSQL ग्लोबल डेवलपमेंट ग्रुप | पोस्टग्रे एसक्यूएलpostgresql-VERSION.jar |
SQLite | Xerial.org | साइक्लाइट-जेडडीबी-वर्सन.जर |
एमएस एक्सेस | UCanAccess.com | एमएस एक्सेसucanaccess-VERSION.jar |
JDBC में ड्राइवर के प्रकार
अब, JDBC में ड्राइवर के प्रकारों पर चर्चा करें जिससे आपको अपने कार्यक्रम के लिए उपयुक्त चुनने में मदद मिल सके।
सभी RDMS (रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) को ड्राइवर की आवश्यकता होती है यदि उन्हें अपने सिस्टम के बाहर से एक्सेस किया जाना है। इसलिए, JDBC ड्राइवर को SQL प्रश्नों को निष्पादित करने और डेटाबेस से परिणाम प्राप्त करने के लिए आवश्यक है।
JDBC में 4 विभिन्न प्रकार के ड्राइवर उपलब्ध हैं। उन्हें उस तकनीक के आधार पर वर्गीकृत किया जाता है जिसका उपयोग डेटाबेस तक पहुंचने के लिए किया जाता है।
वे इस प्रकार हैं:
- टाइप I: JDBC- ODBC ब्रिज
- टाइप II: नेटिव एपीटी- आंशिक रूप से जावा ड्राइवर
- टाइप III: नेटवर्क प्रोटोकॉल- पूरी तरह से जावा ड्राइवर
- टाइप IV: थिन ड्राइवर- पूरी तरह से जावा ड्राइवर
टाइप I: JDBC- ODBC ब्रिज
इस प्रकार के ड्राइवर में, JDBC - ODBC ब्रिज क्लाइंट और DB सर्वर के बीच एक इंटरफेस के रूप में कार्य करता है। जब कोई उपयोगकर्ता JDBC - ODBC ब्रिज का उपयोग करके डेटाबेस के लिए अनुरोध भेजने के लिए जावा एप्लिकेशन का उपयोग करता है, तो यह पहले JDBC API को ODBC API में कनवर्ट करता है और फिर इसे डेटाबेस को भेजता है। जब परिणाम DB से प्राप्त होता है, तो इसे ODBC API और फिर JDBC API को भेजा जाता है।
यह ड्राइवर प्लेटफ़ॉर्म-निर्भर है क्योंकि यह ODBC का उपयोग करता है जो OS के मूल पुस्तकालय पर निर्भर करता है। इस प्रकार में, JDBC - ODBC ड्राइवर को प्रत्येक क्लाइंट सिस्टम में स्थापित किया जाना चाहिए और डेटाबेस को ODBC ड्राइवर का समर्थन करना चाहिए।
जब ग्राहक मशीन में स्थापना के बारे में कोई बात नहीं है, तो हम इस ड्राइवर का उपयोग कर सकते हैं। इसका उपयोग करना आसान है लेकिन यह JDBC विधि कॉल को ODBC विधि कॉल में बदलने के कारण कम प्रदर्शन देता है।
नोट: यह JDK 1.2 में उपलब्ध है
Java 8 इस प्रकार के ड्राइवर का समर्थन नहीं करता है। Oracle अनुशंसा करता है कि उपयोगकर्ता अपने डेटाबेस विक्रेताओं द्वारा प्रदान किए गए JDBC ड्राइवरों का उपयोग करता है।
चित्र: टाइप I: JDBC - ODBC ब्रिज ड्राइवर
टाइप II: नेटिव एपीआई - आंशिक रूप से जावा ड्राइवर
यह टाइप I ड्राइवर के समान है। यहां, टाइप II ड्राइवर में ODBC भाग को देशी कोड से बदल दिया जाता है। यह मूल कोड भाग एक विशिष्ट डेटाबेस उत्पाद पर लक्षित है। यह डेटाबेस के क्लाइंट-साइड के पुस्तकालयों का उपयोग करता है। यह ड्राईवर JDBC मेथड कॉल्स को डेटाबेस के नेटिव API के देशी कॉल्स में कनवर्ट करता है।
जब डेटाबेस को उपयोगकर्ता से अनुरोध प्राप्त होता है, तो अनुरोधों को संसाधित किया जाता है और मूल प्रारूप में परिणामों के साथ वापस भेज दिया जाता है जिन्हें JDBC प्रारूप में परिवर्तित किया जाता है और इसे जावा एप्लिकेशन को दिया जाता है।
डीबी विक्रेताओं द्वारा इसे तुरंत अपनाया गया क्योंकि इसे लागू करना त्वरित और सस्ता था। यह डीबी के मूल प्रारूप में भी है।
इस प्रकार का ड्राइवर टाइप I ड्राइवर की तुलना में तेज़ प्रतिक्रिया और प्रदर्शन देता है।
चित्र: टाइप II: मूल निवासी APT - आंशिक रूप से जावा चालक
प्रकार III: नेटवर्क प्रोटोकॉल
प्रकार III चालक पूरी तरह से जावा में लिखा गया है। यह डेटाबेस तक पहुंचने के लिए 3-स्तरीय दृष्टिकोण की तरह है। यह JDBC मेथड कॉल्स को इंटरमीडिएट सर्वर पर भेजता है। JDBC की ओर से, मध्यवर्ती सर्वर डेटाबेस के साथ संचार करता है। एप्लिकेशन सर्वर (मध्यवर्ती या मध्य स्तरीय) JDBC कॉल को वेंडर-विशिष्ट डेटाबेस प्रोटोकॉल में प्रत्यक्ष या अप्रत्यक्ष रूप से परिवर्तित करता है।
यह दृष्टिकोण वास्तुकला दक्षता को नहीं बढ़ाता है और यह महंगा भी है, इस कारण अधिकांश डेटाबेस विक्रेता इस ड्राइवर को पसंद नहीं करते हैं। चूंकि एप्लिकेशन सर्वर का उपयोग किया जाता है, इसलिए आपको इस दृष्टिकोण को कुशलतापूर्वक उपयोग करने के लिए एप्लिकेशन सर्वर के बारे में अच्छा ज्ञान होना चाहिए।
चित्रा: टाइप III: नेटवर्क प्रोटोकॉल - पूरी तरह से जावा ड्राइवर
टाइप IV: थिन ड्राइवर
टाइप IV ड्राइवर को सीधे लागू किया जाता है जो JDBC कॉल को सीधे वेंडर-विशिष्ट डेटाबेस प्रोटोकॉल में परिवर्तित करता है। आज, अधिकांश JDBC ड्राइवर IV ड्राइवर हैं। यह पूरी तरह जावा में लिखा गया है और इस तरह यह प्लेटफ़ॉर्म-इंडिपेंडेंट है। यह क्लाइंट के JVM (जावा वर्चुअल मशीन) के अंदर स्थापित है, इसलिए आपको क्लाइंट या सर्वर-साइड पर कोई सॉफ़्टवेयर स्थापित नहीं करना होगा। इस ड्राइवर आर्किटेक्चर में एक ही ड्राइवर में DB के साथ सीधे संवाद करने के सभी तर्क हैं।
यह अन्य प्रकार के ड्राइवरों की तुलना में बेहतर प्रदर्शन प्रदान करता है। यह आसान तैनाती के लिए अनुमति देता है। आजकल, इस प्रकार के ड्राइवर को डेटाबेस विक्रेता द्वारा ही विकसित किया जाता है ताकि प्रोग्रामर सीधे अन्य स्रोतों पर निर्भरता के बिना इसका उपयोग कर सकें।
चित्र: टाइप IV: पतला चालक - पूरी तरह से जावा चालक
जेडीबीसी के आवेदन
JDBC का उपयोग जावा अनुप्रयोगों, Applets, Servlets या किसी अन्य जावा प्रोग्राम में किया जा सकता है जहाँ आप DB से जुड़ना चाहते हैं।
उदाहरण के लिए, स्टैंडअलोन एप्लिकेशन, वेबसाइट, बैंकिंग एप्लिकेशन, आदि।
वास्तुकला और जेडीबीसी के घटक
JDBC वास्तुकला: यह DB तक पहुँचने के लिए दो प्रकार के प्रसंस्करण मॉडल का समर्थन करता है।
ये:
- दो स्तरीय वास्तुकला
- त्रिस्तरीय वास्तुकला
# 1) दो स्तरीय वास्तुकला:
यह जावा एप्लिकेशन को डेटाबेस से सीधे जुड़ने में मदद करता है। यह एक विशेष DB के साथ संचार के लिए एक JDBC ड्राइवर की आवश्यकता है। उपयोगकर्ता डीबी को अनुरोध भेजता है और जेडीबीसी चालक को छोड़कर किसी भी मध्यस्थ के बिना सीधे प्रतिक्रिया प्राप्त करता है। डेटाबेस, या तो एक ही मशीन में या एक दूरस्थ मशीन पर एक नेटवर्क के माध्यम से जुड़ा हुआ है। इसे क्लाइंट-सर्वर आर्किटेक्चर के रूप में कहा जा सकता है।
# 2) त्रिस्तरीय वास्तुकला:
यह दो-स्तरीय वास्तुकला के विपरीत है। उपयोगकर्ता और डेटाबेस के बीच कोई सीधा संवाद नहीं है। उपयोगकर्ता अनुरोध को मध्य स्तरीय (अनुप्रयोग सर्वर) पर भेजता है जहां से अनुरोध फिर से डेटाबेस में भेजा जाता है। फिर डेटाबेस अनुरोध को संसाधित करता है और परिणाम को मध्य-स्तरीय पर भेजता है जहां से उपयोगकर्ता परिणाम / प्रतिक्रिया प्राप्त करता है।
यह तैनाती और प्रबंधन को सरल बनाता है। प्रबंधन सूचना प्रणाली (एमआईएस) निदेशक इस वास्तुकला का उपयोग करते हैं क्योंकि यह कॉरपोरेट डेटा तक पहुंच नियंत्रण और अपडेट बनाए रखना आसान बनाता है।
त्रिस्तरीय वास्तुकला
JDBC के घटक
जेडीबीसी में 4 मुख्य घटक उपलब्ध हैं। वे:
- JDBC एपीआई
- JDBC ड्राइवर मैनेजर
- JDBC टेस्ट सूट
- JDBC - ODBC ब्रिज
# 1) JDBC API: यह किसी भी जावा प्रोग्राम से रिलेशनल डेटाबेस तक पहुंच प्रदान करता है। JDBC एपीआई में वर्गों और इंटरफेस का एक सेट है जो जावा में लिखा गया है जो डेवलपर्स के लिए एक मानक उपकरण / एपीआई देता है। JDBC API का उपयोग करके, आप SQL क्वेरी बना और निष्पादित कर सकते हैं, परिणाम प्राप्त कर सकते हैं, और डेटा में परिवर्तन कर सकते हैं और परिणाम को डेटाबेस में वापस ला सकते हैं।
यह एक ही जावा प्रोग्राम से Oracle, MySQL, MS Access जैसे कई डेटाबेस के साथ इंटरैक्ट कर सकता है। JDBC API के साथ, Oracle DB को एक्सेस करने के लिए एक प्रोग्राम लिखना आवश्यक नहीं है, MySQL तक पहुंचने के लिए एक अन्य प्रोग्राम, MS एक्सेस तक पहुंचने के लिए एक और प्रोग्राम और इसी तरह।
JDBC एपीआई जावा प्लेटफ़ॉर्म का एक हिस्सा है जिसमें जावा मानक संस्करण (जावा एसई) और जावा एंटरप्राइज संस्करण (जावा ईई) दोनों हैं।
JDBC 4.0 API में 2 पैकेज हैं।
- Java.sql
- जावेद.सकल
दोनों पैकेज जावा एसई और जावा ईई में उपलब्ध हैं।
# 2) JDBC ड्राइवर मैनेजर: JDBC की पारंपरिक प्रबंधन परत चालक प्रबंधक है और यह उपयोगकर्ता और ड्राइवरों के बीच एक इंटरफेस के रूप में कार्य करता है। यह उपलब्ध ड्राइवरों का ट्रैकिंग विवरण रखता है और डेटाबेस और उपयुक्त ड्राइवर के बीच संबंध स्थापित करता है। यह उन वस्तुओं को परिभाषित करता है जो जावा ऐप को JDBC ड्राइवर से जोड़ सकते हैं। इस प्रकार, यह जेडीबीसी एपीआई की रीढ़ है।
हम अगले ट्यूटोरियल में ड्राइवर मैनेजर पर चर्चा करेंगे।
# 3) जेडीबीसी टेस्ट सूट: यह पता लगाने में मदद करता है कि जेडीबीसी ड्राइवर प्रोग्राम चलाएगा या नहीं। यह आत्मविश्वास और अनुरूपता प्रदान करता है कि कार्यक्रम JDBC ड्राइवर्स द्वारा चलेगा।
# 4) JDBC- ODBC ब्रिज: यह जेडीबीसी चालकों के रूप में ओडीबीसी ड्राइवरों का उपयोग करता है। यह TYPE I ड्राइवर के समान है जो कि पहले से ही इस ट्यूटोरियल में ड्राइवर प्रकार सेक्शन में शामिल है।
ध्यान देने योग्य मुख्य बातें:
- JDBC का उपयोग जावा प्रोग्राम के किसी भी जावा प्रोग्राम जैसे डेटाबेस से इंटरेक्ट करने के लिए किया जाता है जैसे कि Java एप्लिकेशन, Applets, Servlets
- JDBC का नवीनतम संस्करण JDBC 4.3 है। यह 21 के बाद से स्थिर रिलीज हैअनुसूचित जनजाति2017 सितंबर।
- टाइप I ड्राइवर: JDBC ODBC Bridge - उपयोग करने में आसान है लेकिन ODBC प्लेटफ़ॉर्म पर निर्भर है। यह एक लो-परफॉर्मेंस ड्राइवर भी है।
- टाइप II ड्राइवर: देशी एपीआई - मूल कोड भाग ने ओडीबीसी भाग को टाइप I ड्राइवर में बदल दिया और एक विशिष्ट डेटाबेस उत्पाद पर लक्षित किया। यह टाइप I ड्राइवर से तेज है।
- टाइप III ड्राइवर: JDBC ड्राइवर और डेटाबेस के बीच इंटरफेस के रूप में मिडिल टियर या एप्लिकेशन सर्वर का उपयोग किया जाता है। प्रभावी ढंग से इसका उपयोग करने के लिए एप्लिकेशन सर्वर का ज्ञान आवश्यक है।
- टाइप IV ड्राइवर: JDBC ड्राइवर तुरंत डेटाबेस के साथ संचार करता है। डेटाबेस विक्रेता इस प्रकार के ड्राइवर का उपयोग कर रहे हैं और इसे ग्राहकों या डेवलपर्स को प्रदान कर रहे हैं।
- JDBC का उपयोग किसी भी प्रोग्राम में किया जा सकता है जो जावा भाषा में लिखा गया है।
निष्कर्ष
इस JDBC ट्यूटोरियल में, हमने JDBC की मूल बातें और JDBC के साथ आगे बढ़ने से पहले आवश्यक पूर्व-आवश्यकताओं के बारे में सीखा है। हमने इसके संस्करण और 4 प्रकार के ड्राइवर देखे हैं जो डेवलपर्स को कार्यक्रमों में उपयोग करने के लिए ड्राइवर के प्रकार को तय करने में मदद करते हैं।
हमने जेडीबीसी और इसके 4 मुख्य घटकों की वास्तुकला पर भी चर्चा की।
अनुशंसित पाठ
- JDBC DriverManager, JDBC रेडीस्टेडमेंट और स्टेटमेंट
- क्रोमड्राइव सेलेनियम ट्यूटोरियल: क्रोम पर सेलेनियम वेबड्राइवर टेस्ट
- Java SWING Tutorial: कंटेनर, कंपोनेंट्स एंड इवेंट हैंडलिंग
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- अपाचे POI का उपयोग कर सेलेनियम वेबड्राइवर में डेटा ड्रिवेन फ्रेमवर्क
- सेलेनियम वेबड्राइवर स्विचटॉ () विधि का उपयोग करके iFrames को संभालना
- कोड उदाहरण के साथ सेलेनियम वेबड्राइवर के साथ अभिगम्यता परीक्षण
- अलग-अलग लोकप्रिय ब्राउज़रों में सेलेनियम वेबड्राइवर कैसे चलाएं