У меня есть хранимая процедура MySQL, которую я хотел бы вызвать.
Процедура принимает 2 аргумента с плавающей запятой и возвращает набор результатов. с 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() out (Map)
Вот оно это:
{#result-set-1=[{id=4, out1=100, distance=40.9}, {id= 5, out1=100,
расстояние=47,7}, {id=6, out1=100, расстояние=22,3}, {id=7, out1=100,
расстояние=27,4}, {id=8, out1=100, расстояние=22,1}, {id=9, out1=100,
расстояние=18,3}, {id=10, out1=100, расстояние=20,1} , {id=11, out1=100,
distance=28.6}, {id=12, out1=100, distance=23.1}], #update-count-1=0}
Подробнее здесь: https://stackoverflow.com/questions/843 ... result-map
Мобильная версия