2
私は何を試しても、単一の整数出力パラメータと5つのvarchar入力パラメータを持つストアドプロシージャを持っています。出力パラメータを取得できないようです。私はdbでsprocを実行しました。データが返ってくるので、間違っていることはわかりません。simplejdbccallの出力パラメータ
誰かがsimplejdbccallから出力paramを取得する方法を知っていますか?
私はこのような何かを持っている:
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