java jdbc connection tutorial with programming example
यह JDBC कनेक्शन ट्यूटोरियल उदाहरण के साथ एक डेटाबेस के लिए बुनियादी चरणों की व्याख्या करता है और विभिन्न डेटाबेस के लिए JDBC कनेक्शन तार प्रदान करता है:
कैसे क्यूए परीक्षण में पाने के लिए
के पिछले ट्यूटोरियल में JDBC ट्यूटोरियल श्रृंखला , हमने जावा डेटाबेस कनेक्टिविटी (JDBC) में घटकों, वास्तुकला और ड्राइवरों के प्रकार सीखे।
इस ट्यूटोरियल में, हम JDBC का उपयोग करके डेटाबेस से जुड़ने के चरणों पर चर्चा करेंगे। यह ट्यूटोरियल आपको दिखाएगा कि जेडडीबीसी कनेक्शन और प्रदर्शन डेटाबेस ऑपरेशन कैसे करें। JDBC एपीआई जावा प्रोग्राम और डेटाबेस के बीच एक इंटरफेस के रूप में कार्य करता है।
इस ट्यूटोरियल के अंत में, आप डेटाबेस से जुड़ने और डीबी संचालन करने के लिए जावा प्रोग्राम लिख सकेंगे।
आप क्या सीखेंगे:
JDBC कनेक्शन चरण
JDBC के साथ जुड़ने के लिए 6 बुनियादी चरण हैं। उन्हें निम्न छवि में सूचीबद्ध किया गया है:
(1) आयात पैकेज
सबसे पहले, हमें अपने जावा प्रोग्राम में इसका उपयोग करने के लिए मौजूदा पैकेजों को आयात करना होगा। आयात सुनिश्चित करेगा कि JDBC API प्रोग्राम के लिए उपलब्ध हैं। हम संकुल के वर्ग और उपवर्गों का उपयोग कर सकते हैं।
JDBC ड्राइवर की परवाह किए बिना, जावा प्रोग्राम में निम्न आयात विवरण जोड़ें।
import java.sql.*;
प्रोग्राम में उपयोग की जाने वाली कार्यक्षमता के आधार पर अन्य वर्गों को आयात करें। डेटाबेस के लिए उपयुक्त जार फाइलें डाउनलोड करें जो आप प्रोग्राम में उपयोग करेंगे।
को देखें पिछले ट्यूटोरियल अपने डेटाबेस के लिए जार फ़ाइलों को डाउनलोड करने के लिंक के लिए।
JDBC API 4.0 मुख्य रूप से 2 महत्वपूर्ण पैकेज प्रदान करता है:
- java.sql
- javax.sql
(i) java.sql पैकेज
यह पैकेज SQL क्वेरी बनाने और निष्पादित करने जैसे अधिकांश JDBC फ़ंक्शन करने के लिए कक्षाएं और इंटरफ़ेस प्रदान करता है।
कक्षाएं / इंटरफेस | विवरण |
---|---|
DriverManager | यह JDBC ड्राइवर्स के सेट का प्रबंधन करने के लिए बुनियादी सेवा प्रदान करता है |
ब्लॉब | यह जावा प्रोग्राम में SQL ब्लॉब वैल्यू का प्रतिनिधित्व करता है |
कॉल करने योग्य | इसका उपयोग SQL संग्रहीत कार्यविधियों को निष्पादित करने के लिए किया जाता है |
CLOB | यह जावा प्रोग्राम में SQL क्लोब वैल्यू का प्रतिनिधित्व करता है |
संबंध | यह एक विशिष्ट डेटाबेस के साथ एक कनेक्शन (सत्र) बनाता है |
तारीख | यह दिनांक SQL प्रकार के लिए समर्थन प्रदान करता है |
चालक | यह ड्राइवर प्रबंधक के साथ चालक का एक उदाहरण बनाता है |
ParameterMetaData | यह एक ऐसी वस्तु है जिसका उपयोग प्रत्येक पैरामीटर के प्रकारों और गुणों के बारे में जानकारी तैयार करने के लिए किया जा सकता है |
तैयार बयान | यह जावा प्रोग्राम में एक पैरामीटर क्वेरी बनाने और निष्पादित करने के लिए उपयोग किया जाता है |
परिणाम सेट | इसका उपयोग परिणाम पंक्ति-दर-पंक्ति तक पहुंचने के लिए किया जाता है |
रिजल्टस्मेटडेटाटा | इसका उपयोग ResultSet ऑब्जेक्ट में कॉलम के प्रकार और गुणों के बारे में जानकारी प्राप्त करने के लिए किया जाता है |
रोव्ड | यह SQL ROWID मान का प्रतिनिधित्व करता है |
पॉइंट सहेजें | यह लेनदेन में बचत का प्रतिनिधित्व करता है |
SQLData | यह जावा प्रोग्राम में एक वर्ग के लिए SQL उपयोगकर्ता निर्धारित प्रकार (UDT) को मैप करने के लिए उपयोग किया जाता है |
SQLXML | यह SQL XML प्रकार का प्रतिनिधित्व करता है |
बयान | इसका उपयोग स्थिर SQL स्टेटमेंट को निष्पादित करने के लिए किया जाता है |
DriverPropertyInfo | यह एक संबंध बनाने के लिए चालक गुण प्रदान करता है |
SQLException | यह डेटाबेस त्रुटियों पर जानकारी प्रदान करता है |
SQLTimeoutException | यह SQLException थ्रो का एक उपवर्ग है जिसे स्टेटमेंट द्वारा निर्दिष्ट टाइमआउट की समय सीमा समाप्त हो गई है |
SQLWarning | यह एक अपवाद है जो डेटाबेस एक्सेस चेतावनी पर जानकारी प्रदान करता है |
struct | यह SQL संरचित प्रकार के लिए जावा प्रोग्राम में एक मानक मानचित्रण है |
(ii) javax.sql पैकेज
यह एक JDBC एक्सटेंशन एपीआई है और जावा प्रोग्राम में सर्वर-साइड डेटा एक्सेस और प्रोसेसिंग प्रदान करता है।
कक्षाएं / इंटरफेस | विवरण |
---|---|
कनेक्शन | यह कनेक्शन-संबंधित घटनाओं की घटना के बारे में जानकारी प्रदान करता है |
CommonDataSource | यह एक इंटरफ़ेस है जो उन तरीकों को परिभाषित करता है जो डेटा स्रोत, XADataSource और ConnectionPoolDataSource के बीच आम हैं |
कनेक्शनपूलडॉटा सोर्स | यह PooledConnection वस्तुओं के लिए एक कारखाना है |
डेटा स्रोत | यह भौतिक डेटा स्रोत से कनेक्शन के लिए एक कारखाना है जो ऑब्जेक्ट का प्रतिनिधित्व करता है |
पूलडनेक्शन | इसका उपयोग कनेक्शन पूल को प्रबंधित करने के लिए किया जाता है |
रोवसेट | यह जावा बीन्स घटक मॉडल के लिए JDBC एपीआई को सहायता प्रदान करता है |
रौसेटमेटडाटा | इसमें रोसेट ऑब्जेक्ट में कॉलम की जानकारी होती है |
कनेक्शनईवेंटिस्टनर | इसका उपयोग PooledConnection ऑब्जेक्ट इवेंट को पंजीकृत करने के लिए किया जाता है |
रोवसैटवेंट | यह तब उत्पन्न होता है जब कोई घटना Rowset ऑब्जेक्ट में होती है |
कथन | यह सभी स्टेटमेंटइवेंटिस्ट्रेंस को भेजा जाता है, जो कि उत्पन्न किए गए एक पूलडोनेक्शन के साथ पंजीकृत थे |
# 2) लोड ड्राइवर
पहले, हमें डेटाबेस से कनेक्ट करने से पहले प्रोग्राम में ड्राइवर को लोड / रजिस्टर करना चाहिए। आपको कार्यक्रम में प्रति डेटाबेस केवल एक बार इसे पंजीकृत करने की आवश्यकता है।
हम ड्राइवर को निम्नलिखित 2 तरीकों से लोड कर सकते हैं:
- Class.forName ()
- DriverManager.registerDriver ()
(i) Class.forName ()
इस तरह, ड्राइवर की क्लास फ़ाइल रनटाइम के दौरान मेमोरी में लोड हो जाती है। यह स्पष्ट रूप से चालक को लोड करता है। लोड करते समय, ड्राइवर स्वचालित रूप से जेडीबीसी के साथ पंजीकरण करेगा।
DB नाम | JDBC ड्राइवर का नाम |
---|---|
साइबेस | com.sybase.jdbcSybDriver |
माई एसक्यूएल | com.mysql.jdbc.Driver |
आकाशवाणी | oracle.jdbc.driver.OracleDriver |
Microsoft SQL सर्वर | com.microsoft.sqlserver.jdbc.SQLServerDriver |
एमएस एक्सेस | net.ucanaccess.jdbc.UcanaccessDriver |
PostgreSQL | org.postgresql.Driver |
आईबीएम DB2 | com.ibm.db2.jdbc.net.DB2Driver |
तेरादता | com.teradata.jdbc.TeraDriver |
ध्यान दें: forName () विधि केवल JDK आज्ञाकारी आभासी मशीनों के लिए मान्य है।
(ii) DriverManager.registerDriver ()
DriverManager एक इनबिल्ट क्लास है जो java.sql पैकेज में उपलब्ध है। यह जावा एप्लिकेशन और डेटाबेस के बीच मध्यस्थ के रूप में कार्य करता है जिसे आप कनेक्ट करना चाहते हैं। डेटाबेस से कनेक्ट करने से पहले, आपको DriverManager के साथ ड्राइवर को पंजीकृत करना होगा। DriverManager का मुख्य कार्य डेटाबेस के चालक वर्ग को लोड करना और DB के साथ संबंध बनाना है।
सार्वजनिक स्थैतिक शून्य registerDriver (ड्राइवर) - यह विधि चालक को चालक प्रबंधक के साथ पंजीकृत करेगी। यदि ड्राइवर पहले से पंजीकृत है, तो यह कोई कार्रवाई नहीं करेगा।
- यह फेंक देगा SQLException यदि डेटाबेस त्रुटि होती है।
- यह फेंक देगा शून्य सूचक अपवाद अगर ड्राइवर अशक्त है।
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()) DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver())
इस तरह, आप इसे पैरामीटर के रूप में पास करके अपने डेटाबेस के लिए ड्राइवर को पंजीकृत कर सकते हैं।
# 3) कनेक्शन स्थापित करें
ड्राइवर को लोड करने के बाद, कनेक्शन बनाने और स्थापित करने के लिए अगला कदम है। एक बार आवश्यकता होने पर, पैकेज आयात किए जाते हैं और ड्राइवरों को लोड और पंजीकृत किया जाता है, फिर हम डेटाबेस कनेक्शन स्थापित करने के लिए जा सकते हैं।
DriverManager वर्ग में getConnection विधि है, हम डेटाबेस के साथ कनेक्शन प्राप्त करने के लिए इस पद्धति का उपयोग करेंगे। GetConnection () विधि को कॉल करने के लिए, हमें 3 पैरामीटर पास करने की आवश्यकता है। 3 पैरामीटर स्ट्रिंग डेटा प्रकार URL, उपयोगकर्ता नाम और डेटाबेस तक पहुंचने के लिए एक पासवर्ड हैं।
GetConnection () विधि एक अधिभार विधि है। 2 विधियाँ हैं:
- getConnection (URL, उपयोगकर्ता नाम, पासवर्ड); - इसमें 3 पैरामीटर URL, यूजरनेम, पासवर्ड है।
- getConnection (URL); - इसका केवल एक पैरामीटर है। URL में उपयोगकर्ता नाम और पासवर्ड भी है।
निम्न तालिका विभिन्न डेटाबेस के लिए JDBC कनेक्शन तार को सूचीबद्ध करती है:
डेटाबेस | कनेक्शन स्ट्रिंग / डीबी URL |
---|---|
साइबेस | jdbc: Sybase: Tds: HOSTNAME: पोर्ट / DATABASE_NAME |
माई एसक्यूएल | jdbc: mysql: // HOST_NAME: PORT / DATABASE_NAME |
आकाशवाणी | jdbc: oracle: thin: @HOST_NAME: पोर्ट: SERVICE_NAME |
Microsoft SQL सर्वर | jdbc: sqlserver: // HOST_NAME: पोर्ट; डेटाबेसनाम = |
एमएस एक्सेस | jdbc: ucanaccess: // DATABASE_PATH |
PostgreSQL | jdbc: postgresql: // HOST_NAME: PORT / DATABASE_NAME |
आईबीएम DB2 | jdbc: db2: // HOSTNAME: PORT / DATABASE_NAME |
तेरादता | jdbc: teradata: // HOSTNAME / database =, tmode = ANSI, charset = UTF8 |
उदाहरण:
Connection con = DriverManager.getConnection(jdbc:oracle:thin:@localhost:1521:xe,System,Pass123@)
यहाँ इस उदाहरण में,
- पतला ड्राइवर प्रकार को संदर्भित करता है।
- स्थानीय होस्ट जहाँ Oracle डेटाबेस चल रहा है।
- 1521 DB से जुड़ने के लिए पोर्ट नंबर है।
- वाहन - एसआईडी
- प्रणाली - Oracle डाटाबेस से जुड़ने के लिए यूजर नेम।
- Pass123 @ - कुंजिका
# 4) स्टेटमेंट बनाएं और निष्पादित करें
एक बार कनेक्शन स्थापित हो जाने के बाद, हम कनेक्टेड डेटाबेस के साथ बातचीत कर सकते हैं। सबसे पहले, हमें SQL क्वेरी करने के लिए स्टेटमेंट बनाने की आवश्यकता है और फिर स्टेटमेंट निष्पादित करें।
(i) स्टेटमेंट बनाएँ
अब हम उस स्टेटमेंट ऑब्जेक्ट को बनाएंगे जो कनेक्टेड डेटाबेस के साथ क्वेरी चलाता है। हम के createStatement विधि का उपयोग करते हैं संबंध क्वेरी बनाने के लिए क्लास।
Java.sql पैकेज में 3 स्टेटमेंट इंटरफेस उपलब्ध हैं। ये नीचे दिए गए हैं:
एक बयान
यह इंटरफ़ेस बिना किसी पैरामीटर के सरल SQL स्टेटमेंट को लागू करने के लिए उपयोग किया जाता है। यह ResultSet ऑब्जेक्ट देता है।
Statement statemnt1 = conn.createStatement();
ख) तैयार किया हुआ
यह रेडीस्टेयमेंट इंटरफेस स्टेटमेंट इंटरफेस को बढ़ाता है। इसलिए, इसमें स्टेटमेंट इंटरफेस की तुलना में अधिक विशेषताएं हैं। इसका उपयोग पैरामीटराइज्ड और प्रीक्लेम्ड SQL स्टेटमेंट को लागू करने के लिए किया जाता है। एप्लिकेशन का प्रदर्शन बढ़ जाता है क्योंकि यह क्वेरी को केवल एक बार संकलित करता है।
एक नए पैरामीटर के साथ इस इंटरफ़ेस का पुन: उपयोग करना आसान है। यह IN पैरामीटर का समर्थन करता है। यहां तक कि हम बिना किसी पैरामीटर के भी इस कथन का उपयोग कर सकते हैं।
String select_query = “Select * from states where state_id = 1”; PreparedStatement prpstmt = conn.prepareStatement(select_query);
c) CallableStatement
CallableStatement इंटरफ़ेस, ReadyedStatement इंटरफ़ेस का विस्तार करता है। तो, इसमें रेडीमेडस्टेमेंट इंटरफेस की तुलना में अधिक विशेषताएं हैं। इसका उपयोग एक पैरामीटर वाले SQL कथन को लागू करने के लिए किया जाता है जो डेटाबेस में प्रक्रिया या कार्य को आमंत्रित करता है। एक संग्रहीत प्रक्रिया एक कक्षा में एक विधि या कार्य की तरह काम करती है। यह IN और OUT मापदंडों का समर्थन करता है।
CallableStatement आवृत्ति कनेक्शन ऑब्जेक्ट की तैयार विधि को कॉल करके बनाई गई है।
CallableStatementcallStmt = con.prepareCall('{call procedures(?,?)}');
(ii) क्वेरी को निष्पादित करें
स्टेटमेंट इंटरफ़ेस में क्वेरी को निष्पादित करने के लिए 4 महत्वपूर्ण तरीके हैं। ये नीचे दिए गए हैं:
- ResultSet निष्पादित करें (स्ट्रिंग sql)
- int executeUpdate (स्ट्रिंग sql)
- बूलियन निष्पादन (स्ट्रिंग sql)
- int () निष्पादित करें ()
क) परिणाम निष्पादित करें (स्ट्रिंग sql)
स्टेटमेंट इंटरफ़ेस में एक्जीक्यूटिक्यू () विधि का उपयोग SQL क्वेरी को निष्पादित करने और DB से मान प्राप्त करने के लिए किया जाता है। यह ResultSet ऑब्जेक्ट देता है। आम तौर पर, हम इस विधि का उपयोग SELECT क्वेरी के लिए करेंगे।
बी) निष्पादित करें
निष्पादन योग्य () विधि का उपयोग INSERT, UPDATE, DELETE (DML स्टेटमेंट्स), या DDL कथनों जैसे मान निर्दिष्ट प्रश्नों को निष्पादित करने के लिए किया जाता है जो कुछ भी नहीं लौटाते हैं। अधिकतर, हम इस पद्धति का उपयोग डालने और अपडेट करने के लिए करेंगे।
c) निष्पादित (स्ट्रिंग sql)
SQL क्वेरी को निष्पादित करने के लिए निष्पादित () विधि का उपयोग किया जाता है। यह लौट आता है सच यदि यह SELECT क्वेरी को निष्पादित करता है। और, यह लौट आता है असत्य यदि यह INSERT या अद्यतन क्वेरी को कार्यान्वित करता है।
घ) निष्पादन योग्य ()
इस पद्धति का उपयोग डेटाबेस में SQL प्रश्नों के एक बैच को निष्पादित करने के लिए किया जाता है और यदि सभी प्रश्नों को सफलतापूर्वक निष्पादित किया जाता है, तो यह अद्यतन गणना की एक सरणी देता है। हम इस विधि का उपयोग अभिलेखों के थोक को सम्मिलित / अद्यतन करने के लिए करेंगे।
# 5) परिणाम प्राप्त करें
जब हम executeQuery () विधि का उपयोग करके प्रश्नों को निष्पादित करते हैं, तो परिणाम ResultSet ऑब्जेक्ट में संग्रहीत किया जाएगा। तालिका में कोई मिलान रिकॉर्ड नहीं होने पर भी लौटाया गया ResultSet ऑब्जेक्ट कभी भी अशक्त नहीं होगा। डेटाबेस से प्राप्त डेटा तक पहुंचने के लिए ResultSet ऑब्जेक्ट का उपयोग किया जाता है।
ResultSet rs 1= statemnt1.executeQuery(QUERY));
हम Select क्वेरी के लिए executeQuery () विधि का उपयोग कर सकते हैं। जब कोई इन्सर्ट / अपडेट क्वेरी को निष्पादित करने की कोशिश करता है, तो यह संदेश के साथ SQLExecption फेंक देगा ” निष्पादन योग्य विधि अद्यतन के लिए उपयोग नहीं की जा सकती ”।
परिणाम में वर्तमान पंक्ति के लिए एक ResultSet ऑब्जेक्ट इंगित करता है। ResultSet ऑब्जेक्ट में डेटा को पुनरावृत्त करने के लिए, अगले () विधि को थोड़ी देर के लूप में कॉल करें। यदि पढ़ने के लिए अधिक रिकॉर्ड नहीं है, तो यह FALSE लौटाएगा।
परिणाम को DB में डेटा को अपडेट करने के लिए भी इस्तेमाल किया जा सकता है। हम getInt (), getString (), getDate () जैसे गेट्टर तरीकों का उपयोग करके रिजल्टसेट से डेटा प्राप्त कर सकते हैं। हमें गेटर विधियों का उपयोग करके मूल्यों को प्राप्त करने के लिए पैरामीटर के रूप में कॉलम इंडेक्स या कॉलम नाम को पास करना होगा।
हम अगले ट्यूटोरियल में रिजल्टसेट के बारे में अधिक जानकारी प्राप्त करेंगे।
# 6) कनेक्शन बंद करें
अंत में, हम DB में डेटा में हेरफेर के साथ किया जाता है। अब हम जेडीबीसी कनेक्शन बंद कर सकते हैं। हमें यह सुनिश्चित करने की आवश्यकता है कि हमने संसाधन का उपयोग करने के बाद उसे बंद कर दिया है। यदि हम उन्हें ठीक से बंद नहीं करते हैं तो हम कनेक्शन समाप्त कर सकते हैं।
जब हम कनेक्शन ऑब्जेक्ट को बंद करते हैं, तो स्टेटमेंट और रिजल्टसेट ऑब्जेक्ट्स अपने आप बंद हो जाएंगे।
conn.close();
जावा 7 के बाद से, हम JDBC कनेक्शन को स्वचालित रूप से ट्राइ-कैच ब्लॉक का उपयोग करके बंद कर सकते हैं। JDBC कनेक्शन को कोशिश ब्लॉक के कोष्ठक में खोला जाना चाहिए। कोशिश ब्लॉक के अंदर, आप डेटाबेस कनेक्शन को सामान्य रूप से कर सकते हैं जैसा कि हम करते हैं।
एक बार निष्पादन कोशिश ब्लॉक से बाहर निकल जाता है, तो यह स्वचालित रूप से कनेक्शन बंद कर देगा। इस स्थिति में, हमें Java प्रोग्राम में con.close पद्धति को कॉल करके कनेक्शन को बंद करने की आवश्यकता नहीं है।
try(Connection conn = DriverManager.getConnection(url, user, password)) { //database connection and operation }
जावा JDBC कनेक्शन उदाहरण
इस उदाहरण में, आप जावा प्रोग्राम में JDBC का उपयोग करके डेटाबेस से जुड़ने के 6 मूल चरणों को लागू करने का तरीका देखेंगे।
तालिका बनाएं
इससे पहले, पहले, एक तालिका बनाएं और उसमें कुछ प्रविष्टियां जोड़ें।
नीचे तालिका बनाने के लिए SQL क्वेरी है।
create table employee_details (empNum number(10), lastName varchar(50), firstName varchar(50), email varchar(255) , deptNum number(10), salary number(10));
Oracle DB में 'कर्मचारी_डेट्स' तालिका बनाई गई।
तालिका में डेटा डालें
निम्नलिखित क्वेरीज़ का उपयोग करके, डेटा को 'कर्मचारी_डेट' तालिका में डालें।
insert into employee_details values (1001, 'Luther', 'Martin', 'ml@gmail.com', 1, 13000); insert into employee_details values (1002, 'Murray', 'Keith', 'km@gmail.com', 2, 25000); insert into employee_details values (1003, 'Branson', 'John', 'jb@gmail.com', 3, 15000); insert into employee_details values (1004, 'Martin', 'Richard', 'rm@gmail.com', 4, 16000); insert into employee_details values (1005, 'Hickman', 'David', 'dh@gmail.com', 5, 17000);
जावा प्रोग्राम
JDBC जार फ़ाइल डाउनलोड करें और इसे जावा प्रोजेक्ट में आयात करें।
package com.STH.JDBC; // import sql package to use it in our program import java.sql.*; public class Sample_JDBC_Program { public static void main(String() args) throws ClassNotFoundException, SQLException { // store the SQL statement in a string String QUERY = 'select * from employee_details'; //register the oracle driver with DriverManager Class.forName('oracle.jdbc.driver.OracleDriver'); //Here we have used Java 8 so opening the connection in try statement try(Connection conn = DriverManager.getConnection('jdbc:oracle:thin:system/pass123@localhost:1521:XE')) { Statement statemnt1 = conn.createStatement(); //Created statement and execute it ResultSet rs1 = statemnt1.executeQuery(QUERY); { //Get the values of the record using while loop while(rs1.next()) { int empNum = rs1.getInt('empNum'); String lastName = rs1.getString('lastName'); String firstName = rs1.getString('firstName'); String email = rs1.getString('email'); String deptNum = rs1.getString('deptNum'); String salary = rs1.getString('salary'); //store the values which are retrieved using ResultSet and print it System.out.println(empNum + ',' +lastName+ ',' +firstName+ ',' +email +','+deptNum +',' +salary); } } } catch (SQLException e) { //If exception occurs catch it and exit the program e.printStackTrace(); } } }
आउटपुट:
ध्यान देने योग्य मुख्य बातें:
- सबसे पहले, हमें उन पैकेजों को आयात करने की आवश्यकता है जो हम अपने जावा प्रोग्राम में जेडीबीसी कनेक्शन के लिए उपयोग कर रहे हैं। इसलिए हम संकुल में वर्ग, उपवर्ग और इंटरफ़ेस का उपयोग कर सकते हैं।
- कनेक्शन स्थापित करने से पहले हमें DriverManager के साथ ड्राइवर को पंजीकृत या लोड करना होगा।
- ड्राइवर को पंजीकृत करने के बाद, हम कनेक्शन स्थापित कर सकते हैं और संचालन कर सकते हैं।
- स्टेटमेंट इंटरफ़ेस का उपयोग करके हम SQL क्वेरी बना और निष्पादित कर सकते हैं। एक सरल SQL क्वेरी के लिए, हम स्टेटमेंट इंटरफ़ेस का उपयोग कर सकते हैं। इंसर्ट / अपडेट / डिलीट के लिए, हम रेडीस्टेड इंटरफेस का उपयोग कर सकते हैं।
- बयान के निष्पादन के बाद, परिणाम ResultSet ऑब्जेक्ट में संग्रहीत किए जाएंगे। हमें परिणाम (परिणाम) 1 से अधिक रिकॉर्ड के लिए अगली () विधि का उपयोग करके परिणाम मिलते हैं।
- एक बार जब हम डेटाबेस ऑपरेशन के साथ हो जाते हैं, तो हमें कनेक्शन बंद करने की आवश्यकता होती है। ताकि दूसरों के उपयोग के लिए संसाधन उपलब्ध हो सके।
बार बार पूछे जाने वाले प्रश्न
Q # 1) जावा में DB से जुड़ने के लिए मूलभूत कदम क्या हैं?
उत्तर: जावा में DB से जुड़ने के लिए 6 बुनियादी चरण हैं।
वे:
- आयात-पैकेज
- चालक डालें
- कनेक्शन स्थापित करें
- स्टेटमेंट बनाएं और निष्पादित करें
- परिणाम प्राप्त करें
- निकट संबंध
Q # 2) JDBC में BLOB और CLOB डेटा प्रकारों में क्या अंतर है?
उत्तर:
ब्लॉब द्विआधारी प्रकार के डेटा को धारण करने के लिए उपयोग किया जाता है। डेटाबेस के आधार पर भंडारण का आकार भिन्न हो सकता है उदाहरण: छवियों, आवाज, वीडियो।
CLOB चरित्र प्रकार के डेटा को रखने के लिए उपयोग किया जाता है। CLOB की तरह, भंडारण स्थान डीबी के आधार पर भिन्न हो सकता है। उदाहरण: फ़ाइलें।
Q # 3) DB के साथ संबंध स्थापित करने के लिए DriverManager वर्ग की किस पद्धति का उपयोग किया जाता है?
उत्तर: DriverManager वर्ग में एक getConnection () विधि है जिसका उपयोग DB के साथ संबंध स्थापित करने के लिए किया जाता है।
Q # 4) Class.forName () और DriverManager.registerDriver () में क्या अंतर है?
उत्तर: Class.forName () - पहले यह ड्राइवर को मेमोरी में लोड करता है और फिर ड्राइवर मैनेजर के साथ उपयुक्त ड्राइवर को पंजीकृत करता है। फिर यह JDBC कनेक्शन को निष्पादित करने के लिए ड्राइवर का ऑब्जेक्ट बनाएगा। यह ड्राइवर को स्पष्ट रूप से लोड करेगा।
DriverManager.registerDriver () - यह ड्राइवर को संक्षेप में पंजीकृत करता है।
Q # 5) कनेक्शन लीक क्या है?
उत्तर: यह स्थिति तब होती है जब कोई कनेक्शन खोला जाता है और आपने इसे बंद नहीं किया है। यदि कोड का एक ब्लॉक है, जो कनेक्शन खोलता है और कनेक्शन बंद नहीं करता है। जब भी कोड के उस ब्लॉक को निष्पादित किया जाता है, तो कनेक्शन पूल से एक कनेक्शन लीक हो जाएगा।
एक बार सभी उपलब्ध कनेक्शन लीक हो जाने के बाद, कोई कनेक्शन उपलब्ध नहीं होगा और आवेदन लटका रहेगा। कनेक्शन को खोलना कितना महत्वपूर्ण है कि कनेक्शन को बंद करना कितना महत्वपूर्ण है।
Q # 6) क्या कनेक्शन बंद करना अनिवार्य है?
उत्तर: यदि आप 7 से नीचे जावा संस्करण का उपयोग कर रहे हैं, तो आपको कनेक्शन को मैन्युअल रूप से बंद करने की आवश्यकता है।
जावा 7 से ऊपर के संस्करणों से, हम कोशिश ब्लॉक के कोष्ठक में JDBC कनेक्शन कोड खोलकर कनेक्शन को स्वचालित रूप से बंद कर सकते हैं। एक बार जब प्रोग्राम कोशिश ब्लॉक से बाहर निकल जाता है, तो यह कनेक्शन को स्वचालित रूप से बंद कर देगा।
निष्कर्ष
इस ट्यूटोरियल में, हमने चर्चा की है कि जेडीबीसी कनेक्शन कैसे स्थापित किया जाए। अब आप जावा प्रोग्राम में JDBC का उपयोग करके DB ऑपरेशन कर सकते हैं। हमने डेटाबेस से जुड़ने के लिए 6 बेसिक्स चरणों का पता लगाया। हमें इसका उपयोग करने के लिए अपने जावा प्रोग्राम में संकुल आयात करना होगा।
लोड परीक्षण बनाम प्रदर्शन परीक्षण बनाम तनाव परीक्षण
एक बार जब हम चालक को पंजीकृत करते हैं, तो हम कनेक्शन स्थापित कर सकते हैं। हम एक स्टेटमेंट इंटरफ़ेस का उपयोग करके SQL स्टेटमेंट को बना और निष्पादित कर सकते हैं और परिणाम को पुन: परिणाम ऑब्जेक्ट में प्राप्त कर सकते हैं। अंतिम चरण के रूप में, हमें कनेक्शन बंद करना चाहिए।
अनुशंसित पाठ
- Java JDBC ट्यूटोरियल: JDBC (जावा डेटाबेस कनेक्टिविटी) क्या है
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल
- उदाहरण के साथ जावा JDBC लेन-देन प्रबंधन
- JDBC DriverManager, JDBC रेडीस्टेडमेंट और स्टेटमेंट
- JDBC रिजल्टसेट: डेटा को वापस लेने के लिए जावा रिजल्टसेट का उपयोग कैसे करें
- जावा ट्यूटोरियल फॉर बिगिनर्स: 100+ हैंड्स-ऑन जावा वीडियो ट्यूटोरियल
- जावा प्रोग्रामिंग भाषा का परिचय - वीडियो ट्यूटोरियल
- सेलेनियम डेटाबेस परीक्षण (WebDriver और JDBC API का उपयोग करके)