ResultSet इंटरफ़ेस डेटाबेस में टेबल से Clob डेटाटाइप पुनर्प्राप्त करने के लिए getClob() नामक मेथड प्रदान करता है। इसके अलावा यह getCharacterStream() नामक एक मेथड भी प्रदान करता है।
getClob() की तरह यह मेथड भी कॉलम के इंडेक्स को दर्शाने वाला एक पूर्णांक (या, कॉलम के नाम को दर्शाने वाला एक स्ट्रिंग मान) स्वीकार करता है और निर्दिष्ट कॉलम पर मान पुनर्प्राप्त करता है। अंतर यह है कि getClob() मेथड के विपरीत (जो Clob ऑब्जेक्ट लौटाता है) यह मेथड Reader क्लास का ऑब्जेक्ट लौटाता है।
उदाहरण
मान लें कि हमने डेटाबेस में MyData नाम की एक टेबल बनाई है जिसका विवरण निम्नलिखित है।
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
और, हमने इसमें JavaFX नाम से बड़ा टेक्स्टुअल डेटा डाला है। निम्नलिखित प्रोग्राम getString() और getCharacterStream() मेथड का उपयोग करके MyData टेबल की सामग्री पुनर्प्राप्त करता है।
import java.io.FileWriter; import java.io.Reader; import java.sql.Clob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class RetrievingClob_CharStream { public static void main(String args[]) throws Exception { // ड्राइवर रजिस्टर करना DriverManager.registerDriver(new com.mysql.jdbc.Driver()); // कनेक्शन प्राप्त करना String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); // Statement ऑब्जेक्ट बनाना Statement stmt = con.createStatement(); // डेटा पुनर्प्राप्त करना ResultSet rs = stmt.executeQuery("select * from MyData"); int j = 0; System.out.println("Contents of the table are: "); while(rs.next()) { System.out.println(rs.getString("Name")); Clob clob = rs.getClob("Article"); Reader r = clob.getCharacterStream(); String filePath = "E:\\Data\\clob_output"+j+".txt"; FileWriter writer = new FileWriter(filePath); int i; while ((i=r.read())!=-1) { writer.write(i); } writer.close(); System.out.println(filePath); j++; } } }आउटपुट
Connection established...... Contents of the table...... JavaFX E:\Data\clob_output0.txt
यदि आप प्राप्त पथ में फाइल का अवलोकन करते हैं तो आप टेबल से पुनर्प्राप्त Clob की सामग्री को नीचे दिखाए अनुसार देख सकते हैं:
