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

อะไรคือความแตกต่างระหว่างเมธอด setBlob() และ setBinaryStream() ซึ่งดีกว่าใน JDBC


เมธอด setBlob() ใช้เพื่อตั้งค่าสำหรับประเภทข้อมูล Blob ในฐานข้อมูล โดยมีทั้งหมด 3 รุ่น ดังนี้

  • โมฆะ setBlob(int parameterIndex, Blob x): ตั้งค่า Blob ที่กำหนดให้กับพารามิเตอร์ที่ดัชนีที่ระบุ

  • โมฆะ setBlob(int parameterIndex, InputStream inputStream): ตั้งค่าเนื้อหาของอินพุตสตรีมที่กำหนดเป็นค่าพารามิเตอร์ที่ดัชนีที่ระบุ

  • โมฆะ setBlob(int parameterIndex, InputStream inputStream, long length): ตั้งค่าเนื้อหาของอินพุตสตรีมที่กำหนดเป็นค่าพารามิเตอร์ที่ดัชนีที่ระบุ

setBinaryStream() เมธอดใช้เพื่อตั้งค่าเนื้อหาของ InputStream ที่กำหนดเป็นค่าสำหรับพารามิเตอร์ในดัชนีที่ระบุ โดยมีทั้งหมด 3 รุ่น ดังนี้

  • โมฆะ setBinaryStream(int parameterIndex, InputStream x): ตั้งค่าเนื้อหาสตรีมอินพุตที่กำหนดเป็นค่าพารามิเตอร์ที่ดัชนีที่ระบุ

  • โมฆะ setBinaryStream(int parameterIndex, InputStream x, int length):): ตั้งค่าเนื้อหาสตรีมอินพุตที่กำหนด (ซึ่งจะมีจำนวนไบต์ที่ระบุ) เป็นค่าพารามิเตอร์ที่ดัชนีที่ระบุ

  • เป็นโมฆะ setBinaryStream(int parameterIndex, InputStream x, long length): ตั้งค่าเนื้อหาสตรีมอินพุตที่กำหนด (ซึ่งจะมีจำนวนไบต์ที่ระบุ) เป็นค่าพารามิเตอร์ที่ดัชนีที่ระบุ

ความแตกต่างหลักระหว่างสองวิธีนี้คือ setBlob() วิธีบ่งชี้ไดรเวอร์ว่าควรส่งค่าพารามิเตอร์เป็นประเภทข้อมูล BLOB ไปยังเซิร์ฟเวอร์

ในกรณีของ setBinaryStream() วิธีแรกสุดของไดรเวอร์ทั้งหมดกำหนดว่าควรส่งค่าในรูปแบบใด (LONGVARBINARY หรือ BLOB) แล้วส่งไปยังเซิร์ฟเวอร์