2
하나의 정수 출력 매개 변수와 5 개의 varchar 입력 매개 변수가있는 저장 프로 시저가 있습니다. 어떤 것이 든 시도했지만 출력 매개 변수를 다시 얻을 수 없습니다. 나는 DB에서 sproc을 실행했고 데이터로 돌아와서 내가 잘못한 것을 볼 수 없다.simplejdbccall의 출력 param
누구나 simplejdbccall에서 출력 매개 변수를 가져 오는 방법을 알고 있습니까?
나는 이런 식으로 뭔가를 가지고 :
SimpleJdbcCall simpleJdbcCall =
new SimpleJdbcCall(getDatasourceForEnvironment()).withProcedureName("_Get_Id").declareParameters(
new SqlParameter("MyID", Types.VARCHAR), new SqlParameter("MySourceID", Types.VARCHAR),
new SqlParameter("MyLocationID", Types.VARCHAR), new SqlParameter("MyVisitID", Types.VARCHAR),
new SqlParameter("MyVisitDate", Types.VARCHAR));
HashMap< String, String > input = new HashMap< String, String >();
input.put("MyID", myObj.getMyID());
input.put("MySourceID", myObj.getMySourceID());
input.put("MyLocationID", myObj.getMyLocationID());
input.put("MyVisitID", myObj.getMyVisitID());
input.put("MyVisitDate", myObj.getMyVisitDate());
System.out.println(simpleJdbcCall.execute(input));
함수 (프로 시저 아님)를 호출하고 OUT 매개 변수뿐만 아니라 반환 값을 예상하면 Spring은 기본적으로 OUT 매개 변수를 반환하지 않습니다. 가장 좋은 방법은 항상'new SqlParameter()'를'new SqlInOutParameter()'로 정의하여 spring이 반환 값으로지도의 out 매개 변수를 업데이트하도록하는 것입니다. 실적에 미치는 영향에 대해 확신하지 못함 – SashikaXP