Computer >> Máy Tính >  >> Lập trình >> MySQL

Sự khác biệt giữa các phương thức setBlob () và setBinaryStream () được ưu tiên trong JDBC là gì?

Phương thức setBlob () được sử dụng để đặt giá trị cho kiểu dữ liệu Blob trong cơ sở dữ liệu. Nó có ba biến thể như sau:

  • void setBlob (int tham sốIndex, Blob x): Đặt giá trị Blob đã cho thành tham số tại chỉ mục được chỉ định.

  • void setBlob (int parameterIndex, InputStream inputStream): Đặt nội dung của luồng đầu vào đã cho dưới dạng giá trị cho tham số tại chỉ mục được chỉ định.

  • void setBlob (int parameterIndex, InputStream inputStream, long length): Đặt nội dung của luồng đầu vào đã cho dưới dạng giá trị cho tham số tại chỉ mục được chỉ định.

setBinaryStream () được sử dụng để đặt nội dung của InputStream đã cho dưới dạng giá trị cho tham số trong chỉ mục được chỉ định. Nó có ba biến thể như sau:

  • void setBinaryStream (int tham sốIndex, InputStream x): Đặt nội dung của luồng đầu vào đã cho dưới dạng giá trị cho tham số tại chỉ mục được chỉ định.

  • void setBinaryStream (int tham sốIndex, InputStream x, int length):): Đặt nội dung của luồng đầu vào đã cho (sẽ có số byte được chỉ định) làm giá trị cho tham số tại chỉ mục được chỉ định.

  • void setBinaryStream (int parameterIndex, InputStream x, long length): Đặt nội dung của luồng đầu vào đã cho (sẽ có số byte được chỉ định) làm giá trị cho tham số tại chỉ mục được chỉ định.

Sự khác biệt chính giữa hai phương pháp này là setBlob () các phương thức chỉ ra trình điều khiển rằng giá trị tham số phải được gửi dưới dạng kiểu dữ liệu BLOB tới máy chủ.

Trong trường hợp của setBinaryStream () trước hết, trình điều khiển xác định giá trị sẽ được gửi theo định dạng nào (LONGVARBINARY hoặc BLOB) và sau đó gửi nó đến Máy chủ.