setBlob()和setBinaryStream()方法之间有什么区别(在JDBC中最好)?

setBlob()方法用于为数据库中的Blob数据类型设置值。它具有以下三种变体:

  • setBlob(int parameterIndex,Blob x):将给定的Blob值设置为指定索引处的参数。

  • void setBlob(int parameterIndex,InputStream inputStream):将给定输入流的内容设置为指定索引处参数的值。

  • setBlob(int parameterIndex,InputStream inputStream,long length):将给定输入流的内容设置为指定索引处参数的值。

的setBinaryStream()方法用于设置定InputStream的内容作为用于指定索引的参数的值。它具有以下三种变体:

  • setBinaryStream(int parameterIndex,InputStream x):将给定输入流的内容设置为指定索引处参数的值。

  • setBinaryStream(int parameterIndex,InputStream x,int length):):将给定输入流的内容(将具有指定的字节数)设置为指定索引处的参数的值。

  • void setBinaryStream(int parameterIndex,InputStream x,long length):将给定输入流的内容(将具有指定的字节数)设置为指定索引处的参数的值。

这两种方法之间的主要区别在于setBlob()方法指示驱动程序应将参数值作为BLOB数据类型发送到服务器。

setBinaryStream()方法的情况一样,所有驱动程序首先确定应以哪种格式发送值(LONGVARBINARY或BLOB),然后将其发送到服务器。