在 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 次浏览

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.