কম্পিউটার টিউটোরিয়াল

JDBC ব্যবহার করে MySQL ডেটাবেসে ফাইল ইনসার্ট/স্টোর কীভাবে করবেন?


সাধারণত ফাইলের কনটেন্ট MySQL ডেটাবেসে Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) ডেটা টাইপের অধীনে সংরক্ষিত থাকে।

JDBC Clob ডেটা টাইপের জন্য সাপোর্ট দেয়, যাতে ফাইলের কনটেন্ট ডেটাবেসের একটি টেবিলে সংরক্ষণ করা যায়।

PreparedStatement ইন্টারফেসের setCharacterStream() মেথড একটি ইন্টিজার (প্যারামিটারের ইনডেক্স) এবং একটি 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);

Setter মেথডগুলো ব্যবহার করে প্লেসহোল্ডারগুলোর মান সেট করুন এবং 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 ফাইলে) আউটপুট নিচের মতো দেখাবে:

JDBC ব্যবহার করে MySQL ডেটাবেসে ফাইল ইনসার্ট/স্টোর কীভাবে করবেন?


  1. MySQL Workbench ব্যবহার করে ডেটাবেস ব্যাকআপ নেওয়া

  2. Java ব্যবহার করে MySQL ডেটাবেসে ডেটা ইনসার্ট করা (JDBC)

  3. JDBC ব্যবহার করে ডেটাবেস থেকে ফাইল কীভাবে বের করবেন?

  4. Java ব্যবহার করে MySQL কলামে DATE ইনসার্ট করার পদ্ধতি