私は、Springで&Hibernate over MySQLを使用した設定があります。 私はMySQL Stored-Procedureを呼び出しました。 このプロシージャは2つのfloat引数をとり、3つのフィールドを持つ結果セットを返します。整数、整数、フロート春のストアドプロシージャ、結果を解析する
私は春のStoredProcedureを拡張するクラスを作成しました。 これは、実行機能です:
public Map execute(float longitude, float latiude) {
Map inparams = new HashMap(2);
inparams.put("longitude", (float) longitude);
inparams.put("latitude", (float) latiude);
Map out = execute(inparams);
問題は、私はマップの結果を解析する方法がわからないということです。 私がデバッグしているとき、すべての結果セットがそこにありますが、それは奇妙な方法で配列されていることがわかります。フィールドの抽出方法はわかりません。
私はそれがどのように見えるかを示すためにできる最善のは、(あなたのtoStringを与えることです)うちの(マップ) ここにある:
は{id = 11、out1 = 100、 距離= 28.6}、{id = 12、out1 = 100、距離= 23.1}{#結果セット-1 = [{ {id = 4、out1 = 100、distance = 40.9}、{id = 5、out1 = 100, 距離= 47.7}、{id = 6、out1 = 100、距離= 22.3}、{id = 7、out1 = 100 {id = 10、out1 = 100、distance = 20.1}、{id = 9、out1 = 100、 、distance = 18.3}、{id = 8、out1 = 100、distance = 22.1} #update-count-1 = 0}
それはコンパイルされませんが、実は私は本当に何を理解していませんfor文でやっているのですが、これは何ですか? "地図行:out.get ..." – stdcall
申し訳ありませんが、その時はあまりにも霧があります。私はこれが正しいと思います。そのアイデアは、結果マップから行のリストを取得して、そのマップのコレクションを反復することでした。言葉は正しい。コードが間違っていた。 – duffymo
それははるかによく見えます。ありがとう – stdcall