অনুমান করুন আমাদের ইতিমধ্যেই নিম্নলিখিত বিবরণ সহ ডাটাবেসে MyData নামে একটি টেবিল রয়েছে৷
+---------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+--------------+------+-----+---------+-------+ | Name | varchar(255) | YES | | NULL | | | Article | longtext | YES | | NULL | | +---------+--------------+------+-----+---------+-------+
আপনি যদি একটি JDBC প্রোগ্রাম ব্যবহার করে ক্লোব ডেটা টাইপে মান int সন্নিবেশ করতে চান তবে আপনাকে সেই পদ্ধতিগুলি ব্যবহার করতে হবে যা একটি ফাইলের বিষয়বস্তু পড়ে এবং ডাটাবেস সারিগুলিতে সেট করে। PreparedStatement ইন্টারফেস এই ধরনের পদ্ধতি প্রদান করে।
অকার্যকর সেটCharacterStream(int parameterIndex, Reader reader) মেথড রিডার অবজেক্টের বিষয়বস্তুকে প্রদত্ত সূচকে প্যারামিটারের মান হিসাবে সেট করে। এই পদ্ধতির অন্যান্য রূপ হল:
-
void setCharacterStream(int parameterIndex, Reader reader, int length)
-
void setCharacterStream(int parameterIndex, Reader reader, long length)
void setClob(int parameterIndex, Clob x) মেথড প্রদত্ত java.sql.Clob অবজেক্টটিকে প্রদত্ত সূচকে প্যারামিটারের মান হিসাবে সেট করে। এই পদ্ধতির অন্যান্য রূপ হল:
-
void setClob(int parameterIndex, Reader reader)
-
void setClob(int parameterIndex, Reader reader, long length)
আপনি এই পদ্ধতিগুলির যেকোনো একটি ব্যবহার করে ক্লোব ডেটা টাইপের মান সেট করতে পারেন।
উদাহরণ
নিম্নলিখিত উদাহরণ সেটক্লব() পদ্ধতি ব্যবহার করে একটি ক্লোব ডেটাটাইপের মান সেট করে।
import java.io.FileReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InsertingValueInClob { public static void main(String args[]) throws Exception { //Registering the Driver DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //Getting the connection String mysqlUrl = "jdbc:mysql://localhost/sampleDB"; Connection con = DriverManager.getConnection(mysqlUrl, "root", "password"); System.out.println("Connection established......"); //Inserting values String query = "INSERT INTO MyData(Name, Article ) VALUES (?, ?)"; PreparedStatement pstmt = con.prepareStatement(query); pstmt.setString(1, "JavaFX"); FileReader reader = new FileReader("E:\\images\\javafx.txt"); pstmt.setClob(2, reader); pstmt.execute(); System.out.println("Data inserted"); } }
আউটপুট
Connection established...... Table Created...... Contents of the table are: JavaFX E:\images\MyData_clob_output1.txt
আপনি যদি MySQL ওয়ার্ক বেঞ্চ ব্যবহার করে রেকর্ডে ক্লোব মান দেখার চেষ্টা করেন তবে আপনি নীচে দেখানো টেক্সট ডেটা সন্নিবেশিত দেখতে পারেন: