Я пытаюсь запросить набор и вернуть его как объект хэш-карты с помощью Spring JdbcTemplate. Но по некоторым причинам я получаю пустой набор результатов с сервера. Возможно, у меня есть проблема в общей конфигурации, но остальные запросы работают без проблем.Пусто ResultSet из запроса
Это, как я запрос
public Map<Integer, String> getCompanyDataservers() {
return getTemplate().queryForObject("select id, dataserver from company", new RowMapper<Map<Integer,String>>() {
@Override
public Map<Integer, String> mapRow(ResultSet rs, int rowNum)
throws SQLException {
HashMap<Integer, String> toReturn = new HashMap<Integer, String>();
while(rs.next()) {
int id = rs.getInt("id");
toReturn.put(id, dataserver);
}
return toReturn;
}});
}
После некоторой отладки и лесозаготовительного заявления я сделал вывод, что мой ResultSet кажется пустыми ни строки. Когда я запрашиваю то же самое («select id, dataserver from company») вручную непосредственно из БД, я получаю желаемый результат. Тем не менее, я получаю набор результатов с 0 строками.
Одна из моих теорий заключается в том, что невозможно получить такой тип набора при запросе объекта таким образом. Но нет ли возможности быть свободным в ваших запросах и строить более сложный объект в качестве результата запроса, или мне нужно создать специально построенный класс, который будет использоваться «queryForList», чтобы получить нужные данные и преобразовать их впоследствии?
Или я просто что-то пропустил?