CallHandler<T> 인터페이스

IBM®은 CallHandler<T> 인터페이스 대신 CallHandlerWithParameters<T> 인터페이스를 사용하도록 권장합니다.

CallHandler<T> 오브젝트를 Data 인터페이스에 있는 이 버전의 오버로드된 call() 메소드에 전달합니다.

<T> T call(java.lang.String sql,
           CallHandler<T> callHandler,
           java.lang.Object... parameters)

CallHandler<T> 오브젝트에는 handleCall(CallableStatement cstmt)라는 한 가지 메소드가 포함되어 있습니다. 이 메소드를 호출할 때 pureQuery는 SQL CALL문을 실행하는 데 사용된 java.sql.CallableStatement 인터페이스를 구현하는 오브젝트를 전달합니다.

handleCall(CallableStatement cstmt) 메소드를 사용하여 다음 태스크를 수행하십시오.
  • pureQuery가 전달하는 cstmt를 사용하여 스토어드 프로시저에 의해 리턴되는 쿼리 결과에 액세스하십시오(cstmtgetMoreResults()getResultSet() 메소드 사용). java.sql.CallableStatement 인터페이스에 대한 정보는 사용자의 Java™ SDK에 대한 Javadoc을 참조하십시오.
  • cstmt를 사용하여 스토어드 프로시저의 OUTINOUT 매개변수가 리턴하는 값에 액세스하고 이를 결과 <T> 오브젝트에 병합하십시오.
  • 인라인 메소드가 리턴하는 <T> 유형의 오브젝트를 작성하고 리턴하십시오. 예를 들어, 오브젝트는 리턴된 모든 쿼리 결과의 컨텐츠를 포함할 수 있습니다. 그러나 오브젝트가 포함할 수 있는 정보에 대한 제한사항은 없습니다.

인라인 메소드에만 이 인터페이스를 사용할 수 있습니다.

예제

이 예제에서 코드는 GetAddEmResult_CallHandler라는 새 CallHandler<T> 오브젝트를 작성합니다.

MyBean spResults = db.call("{?1 = Call ADDEM (?2, ?3, ?4)}",
		new custom.GetAddEmResult_CallHandler(), int outVal, int inVal1, int inVal2, int inVal3)

피드백