สมมติว่าเรามีตารางชื่อ MyData ในฐานข้อมูลพร้อมคำอธิบายดังต่อไปนี้
<ก่อนหน้า>+---------+--------------+------+----+-------- --------+| สนาม | พิมพ์ | Null | คีย์ | ค่าเริ่มต้น | พิเศษ |+---------+--------------+------+----+--------- +-------+| ชื่อ | varchar(255) | ใช่ | | NULL | || บทความ | longtext | ใช่ | | NULL | |+---------+--------------+------+----+---------+ --------หากคุณต้องการแทรกค่าลงในชนิดข้อมูล clob โดยใช้โปรแกรม JDBC คุณต้องใช้วิธีการที่อ่านเนื้อหาของไฟล์และตั้งค่าเป็นแถวฐานข้อมูล อินเทอร์เฟซ PreparedStatement มีวิธีการดังกล่าว
โมฆะ setCharacterStream(int parameterIndex, Reader reader) วิธีตั้งค่าเนื้อหาของวัตถุเครื่องอ่านเป็นค่าพารามิเตอร์ที่ดัชนีที่กำหนด รูปแบบอื่นของวิธีนี้คือ:
-
ถือเป็นโมฆะ setCharacterStream (int ดัชนีพารามิเตอร์, โปรแกรมอ่านตัวอ่าน, ความยาว int)
-
ถือเป็นโมฆะ setCharacterStream(int parameterIndex, Reader reader, long length)
โมฆะ setClob(int parameterIndex, Clob x) วิธีตั้งค่าวัตถุ java.sql.Clob ที่กำหนดเป็นค่าพารามิเตอร์ที่ดัชนีที่กำหนด รูปแบบอื่นของวิธีนี้คือ:
-
เป็นโมฆะ setClob (int ดัชนีพารามิเตอร์, โปรแกรมอ่านตัวอ่าน)
-
ถือเป็นโมฆะ setClob(int parameterIndex, Reader reader, long length)
คุณสามารถตั้งค่าเป็นประเภทข้อมูล Clob ได้โดยใช้วิธีใดวิธีหนึ่งเหล่านี้
ตัวอย่าง
ตัวอย่างต่อไปนี้ตั้งค่าเป็นประเภทข้อมูล Clob โดยใช้วิธี setClob()
<ก่อน> นำเข้า java.io.FileReader นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager นำเข้า java.sql.PreparedStatement คลาสสาธารณะ InsertingValueInClob { โมฆะคงสาธารณะหลัก (สตริง args []) ส่งข้อยกเว้น { // การลงทะเบียนไดร์เวอร์ DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //รับการเชื่อมต่อสตริง mysqlUrl ="jdbc:mysql://localhost/sampleDB"; การเชื่อมต่อ con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println("การเชื่อมต่อสำเร็จ......"); //การใส่ค่า String query ="INSERT INTO MyData(Name, Article) VALUES (?, ?)"; preparedStatement pstmt =con.prepareStatement (แบบสอบถาม); pstmt.setString(1, "JavaFX"); โปรแกรมอ่าน FileReader =ใหม่ FileReader("E:\\images\\javafx.txt"); pstmt.setClob(2, ตัวอ่าน); pstmt.execute(); System.out.println("ข้อมูลถูกแทรก"); }}ผลลัพธ์
เชื่อมต่อแล้ว......สร้างตารางแล้ว......เนื้อหาของตารางคือ:JavaFXE:\images\MyData_clob_output1.txt
หากคุณพยายามดูค่า clob ในบันทึกโดยใช้ MySQL work bench คุณจะเห็นข้อมูลข้อความที่แทรกดังแสดงด้านล่าง: