Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

JDBC에서 선호되는 setBlob() 메소드와 setBinaryStream() 메소드의 차이점은 무엇입니까?

<시간/>

setBlob() 메서드는 데이터베이스의 Blob 데이터 유형에 대한 값을 설정하는 데 사용됩니다. 다음과 같이 세 가지 변형이 있습니다.

  • 무효 setBlob(int parameterIndex, Blob x): 지정된 Blob 값을 지정된 인덱스의 매개변수로 설정합니다.

  • 무효 setBlob(int parameterIndex, InputStream inputStream): 주어진 입력 스트림의 내용을 지정된 인덱스의 매개변수에 대한 값으로 설정합니다.

  • 무효 setBlob(int parameterIndex, InputStream inputStream, 긴 길이): 주어진 입력 스트림의 내용을 지정된 인덱스의 매개변수에 대한 값으로 설정합니다.

setBinaryStream() 메소드는 지정된 인덱스의 매개변수 값으로 지정된 InputStream의 내용을 설정하는 데 사용됩니다. 다음과 같이 세 가지 변형이 있습니다.

  • 무효 setBinaryStream(int parameterIndex, InputStream x): 주어진 입력 스트림의 내용을 지정된 인덱스의 매개변수에 대한 값으로 설정합니다.

  • 무효 setBinaryStream(int parameterIndex, InputStream x, int 길이):): 지정된 입력 스트림(지정된 바이트 수를 가짐)의 내용을 지정된 인덱스의 매개변수에 대한 값으로 설정합니다.

  • 무효 setBinaryStream(int parameterIndex, InputStream x, 긴 길이): 지정된 입력 스트림(지정된 바이트 수를 가짐)의 내용을 지정된 인덱스의 매개변수에 대한 값으로 설정합니다.

이 두 메서드의 주요 차이점은 setBlob() 메소드는 매개변수 값이 BLOB 데이터 유형으로 서버에 전송되어야 함을 드라이버를 나타냅니다.

setBinaryStream()의 경우와 같이 방법은 우선 드라이버가 값을 보내야 하는 형식(LONGVARBINARY 또는 BLOB)을 결정한 다음 서버로 보냅니다.