ชุดผลลัพธ์ ส่วนต่อประสานให้วิธีการที่ชื่อ getClob() เพื่อดึงข้อมูลประเภท clob จากตารางในฐานข้อมูล นอกจากนี้ ยังมีวิธีการชื่อ getCharacterStream()
เช่นเดียวกับ getClob() เมธอดนี้ยังยอมรับจำนวนเต็มที่แสดงดัชนีของคอลัมน์ (หรือค่าสตริงที่แสดงชื่อของคอลัมน์) และดึงค่าที่คอลัมน์ที่ระบุ ความแตกต่างไม่เหมือนกับเมธอด getClob() (ซึ่งส่งคืนอ็อบเจ็กต์ Clob) เมธอดนี้ส่งคืนอ็อบเจ็กต์ของคลาส Reader
ตัวอย่าง
สมมติว่าเราได้สร้างตารางชื่อ MyData ในฐานข้อมูลโดยมีคำอธิบายดังต่อไปนี้
<ก่อนหน้า>+---------+--------------+------+----+-------- --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+---------+--------------+------+----+--------- +-------+| ชื่อ | varchar(255) | ใช่ | | NULL | || บทความ | longtext | ใช่ | | NULL | |+---------+--------------+------+----+---------+ --------และเราได้แทรกข้อมูลที่เป็นข้อความขนาดใหญ่ในนั้นด้วยชื่อ JavaFX โปรแกรมต่อไปนี้ดึงเนื้อหาของตาราง MyData โดยใช้เมธอด getString() และ getCharacterStream()
นำเข้า 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 คำสั่ง; คลาสสาธารณะ RetrievingClob_CharStream { โมฆะสาธารณะหลัก (สตริง args []) พ่นข้อยกเว้น { // การลงทะเบียนไดรเวอร์ DriverManager.registerDriver (ใหม่ com.mysql.jdbc.Driver ()); //รับการเชื่อมต่อสตริง mysqlUrl ="jdbc:mysql://localhost/sampleDB"; การเชื่อมต่อ con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println("การเชื่อมต่อสำเร็จ......"); //สร้างคำสั่งวัตถุงบ stmt =con.createStatement(); //ดึงข้อมูล ResultSet rs =stmt.executeQuery("select * from MyData"); int j =0; System.out.println("เนื้อหาของตารางคือ:"); ในขณะที่ (rs.next ()) { System.out.println (rs.getString ("ชื่อ")); Clob clob =rs.getClob("บทความ"); Reader r =clob.getCharacterStream(); สตริง filePath ="E:\\Data\\clob_output"+j+".txt"; FileWriter writer =FileWriter ใหม่ (filePath); int ฉัน; ในขณะที่ ((i=r.read())!=-1) { writer.write (i); } writer.close(); System.out.println(filePath); เจ++; } } }
ผลลัพธ์
เชื่อมต่อแล้ว......เนื้อหาของตาราง......JavaFXE:\Data\clob_output0.txt
หากคุณสังเกตไฟล์ในเส้นทางที่ได้รับ คุณจะเห็นเนื้อหาของ Clob ที่ดึงมาจากตารางดังที่แสดงด้านล่าง: