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

JDBC উদাহরণ: getCharacterStream() মেথড ব্যবহার করে টেবিল থেকে Clob মান বের করা


ResultSet ইন্টারফেসে getClob() নামক একটি মেথড আছে ডেটাবেসের একটি টেবিল থেকে clob ডেটা টাইপ বের করার জন্য। এছাড়া এতে getCharacterStream() নামক একটি মেথডও আছে।

getClob() এর মতো এই মেথডও একটি ইন্টিজার (কলাম ইনডেক্স) বা একটি স্ট্রিং (কলাম নাম) গ্রহণ করে এবং নির্দিষ্ট কলামের মান বের করে। পার্থক্য হলো getClob() মেথড একটি Clob অবজেক্ট রিটার্ন করে, আর এই মেথড Reader ক্লাসের একটি অবজেক্ট রিটার্ন করে।

উদাহরণ

ধরি MyData নামক একটি টেবিল আছে নিচের বিবরণের সাথে:

+---------+--------------+------+-----+---------+-------+ 
| Field   | Type         | Null | Key | Default | Extra | 
+---------+--------------+------+-----+---------+-------+ 
| Name    | varchar(255) | YES  |     | NULL    |       | 
| Article | longtext     | YES  |     | NULL    |       | 
+---------+--------------+------+-----+---------+-------+

এবং এতে JavaFX নামে বড় টেক্সটুয়াল ডেটা ইনসার্ট করা হয়েছে। নিচের প্রোগ্রাম MyData টেবিলের কনটেন্ট getString() ও getCharacterStream() মেথড ব্যবহার করে বের করে।

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-এর কনটেন্ট দেখা যাবে।

JDBC উদাহরণ: getCharacterStream() মেথড ব্যবহার করে টেবিল থেকে Clob মান বের করা


  1. JDBC উদাহরণ: টেবিলে Blob ডেটা টাইপের জন্য মান ইনসার্ট করা

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

  3. JDBC উদাহরণ: টেবিলে Clob ডেটা টাইপের জন্য মান ইনসার্ট করা

  4. জাভা প্রোগ্রাম: HashMap-এ মান দিয়ে কী বের করা