OpenJDK 8 - SQLData

इंटरफ़ेस SQLData




openjdk

इंटरफ़ेस SQLData

public interface SQLData

जावा प्रोग्रामिंग भाषा में एक वर्ग के लिए SQL उपयोगकर्ता-परिभाषित प्रकार (UDT) के कस्टम मानचित्रण के लिए उपयोग किया जाने वाला इंटरफ़ेस। SQLData इंटरफ़ेस को लागू करने वाले वर्ग के लिए क्लास ऑब्जेक्ट को यूडीटी के SQL नाम के साथ उपयुक्त Connection ऑब्जेक्ट के टाइप मैप में दर्ज किया जाएगा, जिसके लिए यह एक कस्टम मैपिंग है।

आमतौर पर, SQLData कार्यान्वयन SQL संरचित प्रकार के प्रत्येक गुण या SQL DISTINCT प्रकार के लिए एकल फ़ील्ड के लिए एक फ़ील्ड को परिभाषित करेगा। जब UDT को ResultSet.getObject विधि के साथ डेटा स्रोत से पुनर्प्राप्त किया जाता है, तो इसे इस वर्ग के उदाहरण के रूप में मैप किया जाएगा। एक प्रोग्रामर इस वर्ग के उदाहरण पर जावा प्रोग्रामिंग लैंग्वेज में किसी अन्य ऑब्जेक्ट की तरह काम कर सकता है और फिर इसके लिए PreparedStatement.setObject किए गए किसी भी बदलाव को PreparedStatement.setObject तरीके से कॉल करके स्टोर कर सकता है, जो इसे SQL टाइप पर मैप करेगा।

यह उम्मीद की जाती है कि कस्टम मैपिंग के लिए कक्षा का कार्यान्वयन एक उपकरण द्वारा किया जाएगा। एक विशिष्ट कार्यान्वयन में, प्रोग्रामर केवल SQL UDT के नाम की आपूर्ति करेगा, उस वर्ग का नाम जिसे वह मैप किया जा रहा है, और उन क्षेत्रों के नाम जिन्हें UDT की प्रत्येक विशेषता को मैप किया जाना है। उपकरण SQLData.readSQL और SQLData.writeSQL तरीकों को लागू करने के लिए इस जानकारी का उपयोग करेगा। readSQL विधि प्रत्येक SQLInput ऑब्जेक्ट से प्रत्येक विशेषता को पढ़ने के लिए उपयुक्त SQLInput विधियों को कॉल करती है, और writeSQL SQLOutput ऑब्जेक्ट के माध्यम से डेटा स्रोत पर राइट-टू-राइट लिखने के लिए राइट SQLOutput तरीके से कॉल SQLOutput

एक एप्लिकेशन प्रोग्रामर आमतौर पर SQLData विधियों को सीधे कॉल नहीं करेगा, और SQLInput और SQLOutput विधियों को आंतरिक रूप से SQLData विधियों द्वारा कहा जाता है, एप्लिकेशन कोड द्वारा नहीं।

जबसे:
1.2

तरीके

getSQLTypeName

String getSQLTypeName()
               throws SQLException

SQL उपयोगकर्ता-परिभाषित प्रकार का पूर्ण-योग्य नाम देता है जो इस ऑब्जेक्ट का प्रतिनिधित्व करता है। इस विधि को JDBC ड्राइवर द्वारा UDT इंस्टेंस का नाम प्राप्त करने के लिए कहा जाता है जिसे SQLData इस उदाहरण में मैप किया जा रहा है।

यह दिखाता है:
यह ऑब्जेक्ट जिस तरीके से readSQL गया था और पॉपुलेट किया गया था, उस प्रकार का नाम readSQL गया था
फेंकता:
SQLException - अगर डेटाबेस एक्सेस एरर है
SQLFeatureNotSupportedException - यदि JDBC ड्राइवर इस विधि का समर्थन नहीं करता है
जबसे:
1.2

readSQL

void readSQL(SQLInput stream,
             String typeName)
      throws SQLException

डेटाबेस से पढ़े गए डेटा के साथ इस ऑब्जेक्ट को पॉप्युलेट करता है। विधि के कार्यान्वयन को इस प्रोटोकॉल का पालन करना चाहिए:

  • यह दिए गए इनपुट स्ट्रीम से SQL प्रकार के प्रत्येक गुण या तत्वों को पढ़ना चाहिए। यह प्रत्येक आइटम को पढ़ने के लिए इनपुट स्ट्रीम की एक विधि को कॉल करके किया जाता है, इस क्रम में कि वे टाइप की SQL परिभाषा में दिखाई देते हैं।
  • readSQL विधि तब उचित फ़ील्ड्स या तत्वों (इस या अन्य ऑब्जेक्ट्स) के लिए डेटा असाइन करती है। विशेष रूप से, इसे निम्नलिखित करने के लिए उपयुक्त रीडर विधि ( SQLInput.readString , SQLInput.readBigDecimal , और इसी तरह) को कॉल करना होगा: एक अलग प्रकार के लिए, इसके एकल डेटा तत्व को पढ़ें; एक संरचित प्रकार के लिए, SQL प्रकार की प्रत्येक विशेषता के लिए एक मूल्य पढ़ें।
JDBC ड्राइवर इस पद्धति को कॉल करने से पहले एक प्रकार के नक्शे के साथ इनपुट स्ट्रीम को इनिशियलाइज़ करता है, जिसका उपयोग स्ट्रीम पर उपयुक्त SQLInput रीडर विधि द्वारा किया जाता है।

पैरामीटर:
stream - SQLInput ऑब्जेक्ट जिसमें से कस्टम मैप किए जा रहे मान के लिए डेटा को पढ़ना है
typeName - डेटा स्ट्रीम पर मान का SQL टाइप नाम
फेंकता:
SQLException - अगर डेटाबेस एक्सेस एरर है
SQLFeatureNotSupportedException - यदि JDBC ड्राइवर इस विधि का समर्थन नहीं करता है
जबसे:
1.2
यह भी देखें:
SQLInput

writeSQL

void writeSQL(SQLOutput stream)
       throws SQLException

इस ऑब्जेक्ट को दिए गए SQL डेटा स्ट्रीम में लिखता है, इसे डेटा स्रोत में वापस उसके SQL मान में परिवर्तित करता है। विधि के कार्यान्वयन को इस प्रोटोकॉल का पालन करना चाहिए:
यह SQL प्रकार की प्रत्येक विशेषता को दिए गए आउटपुट स्ट्रीम में लिखना चाहिए। यह प्रत्येक आइटम को लिखने के लिए आउटपुट स्ट्रीम की एक विधि को कॉल करके किया जाता है, इस क्रम में कि वे टाइप की SQL परिभाषा में दिखाई देते हैं। विशेष रूप से, इसे SQLOutput लिए उपयुक्त SQLOutput राइटर मेथड (s) ( writeInt , writeInt ) को कॉल करना होगा: SQLOutput टाइप के लिए, इसका सिंगल डेटा एलिमेंट लिखें; संरचित प्रकार के लिए, SQL प्रकार की प्रत्येक विशेषता के लिए एक मान लिखें।

पैरामीटर:
stream - SQLOutput ऑब्जेक्ट जिसके लिए कस्टम मैप किए गए मान के लिए डेटा लिखना है
फेंकता:
SQLException - अगर डेटाबेस एक्सेस एरर है
SQLFeatureNotSupportedException - यदि JDBC ड्राइवर इस विधि का समर्थन नहीं करता है
जबसे:
1.2
यह भी देखें:
SQLOutput