在 JDBC 中,setBlob() 和 setBinaryStream() 方法有什麼區別?哪種方法更可取?


setBlob() 方法用於設定資料庫中 Blob 資料型別的值。它有以下三種變體:

  • void setBlob(int parameterIndex, Blob x): 將給定的 Blob 值設定為指定索引處的引數。

  • void setBlob(int parameterIndex, InputStream inputStream): 將給定輸入流的內容作為值設定為指定索引處的引數。

  • void setBlob(int parameterIndex, InputStream inputStream, long length): 將給定輸入流的內容作為值設定為指定索引處的引數。

setBinaryStream() 方法用於將給定 InputStream 的內容作為值設定為指定索引處的引數。它有以下三種變體:

  • void setBinaryStream(int parameterIndex, InputStream x): 將給定輸入流的內容作為值設定為指定索引處的引數。

  • void setBinaryStream(int parameterIndex, InputStream x, int length): ): 將給定輸入流(將具有指定數量的位元組)的內容作為值設定為指定索引處的引數。

  • void setBinaryStream(int parameterIndex, InputStream x, long length): 將給定輸入流(將具有指定數量的位元組)的內容作為值設定為指定索引處的引數。

這兩種方法的主要區別在於,setBlob() 方法指示驅動程式應將引數值作為 BLOB 資料型別傳送到伺服器。

而在 setBinaryStream() 方法的情況下,首先驅動程式確定應以何種格式傳送值(LONGVARBINARY 或 BLOB),然後將其傳送到伺服器。

更新於:2019年7月30日

791 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

立即開始
廣告