Я на самом деле не использовал JDBCTemplate
, но согласно документации , queryForList
вернет List
из Map
s, с ключами в каждом Map
, являющимися именами столбцов.
Таким образом, чтобы назначить эти переменные из first возвращенной строки:
Map<String,Object> row = data.get(0);
String one = (String)row.get("one");
//these will not work -- Integer, Double incompatible with String
/* int two = ((Integer)row.get("two")).intValue();
double four = ((Double)row.get("four")).doubleValue(); */
//correct method
int two = Integer.parseInt((String)row.get("two"));
double four = Double.parseDouble((String)row.get("four"));
char three = ((Character)row.get("three")).charValue();
String five = (String)row.get("five");
Asвы можете видеть, для типов объектов, вы должны просто иметь возможность приводить.Для примитивов я приводил эквивалент объекта, а затем использовал метод эквивалентного объекта для получения базового примитива (например, для int
, приведение к Integer
и затем использование intValue
).