सामान्य तौर पर, फाइल की सामग्री MySQL डेटाबेस में Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) डेटाटाइप के तहत संग्रहीत होती है।
JDBC Clob डेटाटाइप के लिए समर्थन प्रदान करता है, डेटाबेस में टेबल में फाइल की सामग्री स्टोर करने के लिए।
PreparedStatement इंटरफ़ेस का setCharacterStream() मेथड पैरामीटर के इंडेक्स को दर्शाने वाला एक पूर्णांक और, एक Reader ऑब्जेक्ट को पैरामीटर के रूप में स्वीकार करता है।
और दिए गए Reader ऑब्जेक्ट (फाइल) की सामग्री को निर्दिष्ट इंडेक्स पर पैरामीटर (प्लेसहोल्डर) के मान के रूप में सेट करता है।
जब भी आपको बहुत बड़ा टेक्स्ट मान भेजने की आवश्यकता होती है तो आप इस मेथड का उपयोग कर सकते हैं।
JDBC का उपयोग करके टेक्स्ट फाइल स्टोर करना:
यदि आपको JDBC प्रोग्राम का उपयोग करके डेटाबेस में फाइल स्टोर करने की आवश्यकता है तो Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) डेटाटाइप के साथ टेबल बनाएं जैसा कि नीचे दिखाया गया है:
CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);
अब, JDBC का उपयोग करके डेटाबेस से कनेक्ट करें और उपरोक्त बनाई गई टेबल में मान डालने के लिए PreparedStatement तैयार करें:
String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);
PreparedStatement इंटरफ़ेस के सेटर मेथड का उपयोग करके प्लेसहोल्डर पर मान सेट करें और Clob डेटाटाइप के लिए setCharacterStream() मेथड का उपयोग करके मान सेट करें।
उदाहरण
निम्नलिखित उदाहरण दर्शाता है कि JDBC प्रोग्राम का उपयोग करके MySQL डेटाबेस में फाइल कैसे डालें। यहां हमने Clob डेटाटाइप के साथ एक टेबल बनाई है, उसमें मान डाले हैं।
import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InsertingFileToDatabase { 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......"); // मान डालना String query = "INSERT INTO Articles(Name, Article) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "article1"); FileReader reader = new FileReader("E:\\data\\article1.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); pstmt.setString(1, "article2"); reader = new FileReader("E:\\data\\article2.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); pstmt.setString(1, "article3"); reader = new FileReader("E:\\data\\article3.txt"); pstmt.setCharacterStream(2, reader); pstmt.execute(); System.out.println("Data inserted......"); } }आउटपुट
Connection established...... Data inserted......
MySQL Workbench का उपयोग करके, आप टेबल की सामग्री को विभिन्न फाइलों जैसे HTML फाइल, .csv फाइल, टेक्स्ट फाइल आदि में एक्सपोर्ट कर सकते हैं। यदि आप डेटा डालने के बाद टेबल की सामग्री को HTML फाइल में एक्सपोर्ट करते हैं तो इसका आउटपुट इस तरह दिखेगा:
