Через шаблон jdbc приходит несколько значений столбца, как я могу сохранить его на карте в Java - PullRequest
0 голосов
/ 12 марта 2019

Через шаблон jdbc мой запрос возвращает несколько значений столбцов.Как я могу сохранить его на карте в Java?

Предположим, у меня есть такой запрос:

SELECT Employee_Name, Employee_Age 
FROM Employee 
WHERE Employee_ID=1

В результате этого запроса мы получили, как Имя сотрудника и Employee_Age в отношении Employee_ID .Как сохранить это значение на карте, где ключ - это имя и возраст, а значение - это то, что мы получаем из базы данных.

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

Для ключа мы можем объединить Employee_Name и Employee_Age, разделенных символом '-', например:

rs.getString ( "Employee_Name") + "-" + rs.getString ( "Employee_Age")

Для значения весь объект должен быть помещен так, как вы сказали: что мы получаем из базы данных.

rs.getObject (я)

jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
int i = 0;
while (rs.next()) {
    results.put(rs.getString("Employee_Name")+"-"+rs.getString("Employee_Age"), rs.getObject(i));
    i++;
}
return results;
});
0 голосов
/ 12 марта 2019

Надеюсь, что это решение в java8 поможет:

jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
    HashMap<String,String> results = new HashMap<>();
    while (rs.next()) {
        results.put(rs.getString("Employee_Name"), rs.getString("Employee_Age"));
    }
    return results;
});
...