技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

setBlob() 和 setBinaryStream() 方法有什么区别?在 JDBC 中哪个更可取?

java 8mysqlmysqli databasejdbc

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

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

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

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

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

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

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

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

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

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


相关文章