在 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),然后将其发送到服务器。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP