Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เขียนตัวอย่าง JDBC สำหรับการแทรกค่าสำหรับประเภทข้อมูล Clob ลงในตารางหรือไม่


สมมติว่าเรามีตารางชื่อ 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 คุณจะเห็นข้อมูลข้อความที่แทรกดังแสดงด้านล่าง:

เขียนตัวอย่าง JDBC สำหรับการแทรกค่าสำหรับประเภทข้อมูล Clob ลงในตารางหรือไม่