MySQL을 통해 Spring & Hibernate를 사용하는 설치가 있습니다. 전화를 걸고 싶은 MySQL 저장 절차가 있습니다. 이 프로 시저에서는 2 개의 float 인수를 사용하고 3 개의 필드가있는 결과 집합을 반환합니다. Integer, Integer, Float.결과를 파싱하는 Spring의 저장 프로 시저
나는 봄의 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, 거리 = 40.9}, {id = 5, out1 = 100, 거리 = 47.7}, {id = 6, out1 = 100, 거리 = 22.3}, {id = 7, out1 = 100 , {id = 9, out1 = 100, 거리 = 18.3}, {id = 10, out1 = 100, distance = 20.1}, # 업데이트 횟수 = 1 = 0}
가, 사실은 내가 정말 무엇을 이해하지 못하는 당신 for 문에서 뭐하는거야?이게 뭐야? "지도 행 : out.get ..." – stdcall
죄송합니다, 그 시간에 너무 안개가났습니다. 나는 이것이 정확하다고 생각한다. 아이디어는 결과 맵에서 행 목록을 가져 와서 해당 맵 컬렉션을 반복하는 것이 었습니다. 낱말은 정확하다; 코드가 잘못되었습니다. – duffymo
훨씬 나아 보인다. 감사합니다 – stdcall