MySQL डेटाबेस में इमेज को होल्ड करने के लिए आमतौर पर ब्लॉब टाइप का इस्तेमाल किया जाता है। इसलिए, सुनिश्चित करें कि आपके पास निम्न विवरण के साथ ब्लॉब डेटाटाइप के साथ बनाई गई तालिका है:
<पूर्व>+----------+--------------+----------+-----+---------+ --------+| फील्ड | प्रकार | शून्य | कुंजी | डिफ़ॉल्ट | अतिरिक्त |+----------+--------------+----------+-----+-------- ------+| नाम | वर्चर (255) | हाँ | | नल | || छवि | बूँद | हाँ | | नल | |+----------+--------------+----------+-----+--------+-- -----+MySQL . में इमेज डालने के लिए डेटाबेस, नीचे दिए गए चरणों का पालन करें:
चरण 1:डेटाबेस से कनेक्ट करें
आप getConnection() . का उपयोग करके डेटाबेस से जुड़ सकते हैं DriverManager वर्ग की विधि।
jdbc:mysql://localhost/sampleDB MySQL URL पास करके MySQL डेटाबेस से कनेक्ट करें (जहां नमूनाडीबी डेटाबेस नाम है), उपयोगकर्ता नाम और पासवर्ड getConnection() विधि के पैरामीटर के रूप में।
स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/sampleDB";कनेक्शन con =DriverManager.getConnection(mysqlUrl, "root", "password");
चरण 2:तैयार कथन बनाएं
prepareStatement() . का उपयोग करके एक तैयार स्टेटमेंट ऑब्जेक्ट बनाएं कनेक्शन . की विधि इंटरफेस। इस विधि के लिए एक पैरामीटर के रूप में सम्मिलित क्वेरी (प्लेस होल्डर के साथ) पास करें।
PreparedStatement pstmt =con.prepareStatement("INSERT INTO MyTable VALUES(?, ?)");
चरण 3:प्लेस होल्डर्स के लिए मान सेट करें
PreparedStatement . की सेटर विधियों का उपयोग करके प्लेस होल्डर्स के लिए मान सेट करें इंटरफेस। कॉलम के डेटाटाइप के अनुसार विधियों को चुनें। उदाहरण के लिए यदि कॉलम VARCHAR प्रकार का है तो setString() . का उपयोग करें विधि और यदि यह INT प्रकार का है तो आप setInt() . का उपयोग कर सकते हैं विधि।
और यदि यह ब्लॉब प्रकार का है तो आप setBinaryStream() का उपयोग करके इसका मान सेट कर सकते हैं या सेटब्लॉब() विधियां। इन विधियों के लिए पैरामीटर इंडेक्स का प्रतिनिधित्व करने वाला एक पूर्णांक चर और पैरामीटर के रूप में इनपुटस्ट्रीम क्लास का ऑब्जेक्ट पास करें।
pstmt.setString(1, "sample image");//ब्लॉब टाइपइनपुटस्ट्रीम को =new FileInputStream("E:\\images\\cat.jpg");pstmt.setBlob(2, in);में सम्मिलित करना पूर्व>चरण 4:कथन निष्पादित करें
निष्पादित करें () . का उपयोग करके उपरोक्त निर्मित रेडीस्टेडमेंट ऑब्जेक्ट को निष्पादित करें तैयार विवरण . की विधि इंटरफ़ेस।
उदाहरण
<पूर्व> आयात java.io.FileInputStream; आयात java.io.InputStream; आयात जावा. ]) अपवाद फेंकता है {// ड्राइवर ड्राइवर को पंजीकृत करना। // कनेक्शन प्राप्त करना स्ट्रिंग mysqlUrl ="jdbc:mysql://localhost/sampleDB"; कनेक्शन कॉन =DriverManager.getConnection (mysqlUrl, "रूट", "पासवर्ड"); System.out.println ("कनेक्शन स्थापित ......"); तैयार स्टेटमेंट pstmt =con.prepareStatement ("MyTable VALUES में डालें (?,?)"); pstmt.setString(1, "नमूना छवि"); // ब्लॉब टाइप इनपुटस्ट्रीम इन्सर्टिंग =new FileInputStream ("E:\\images\\cat.jpg"); pstmt.setBlob(2, in); // pstmt.execute () कथन निष्पादित करना; System.out.println ("रिकॉर्ड डाला गया ..."); }}पूर्व>आउटपुट
कनेक्शन स्थापित...रिकॉर्ड डाला गया......