[英]How i can add data from database to HashMap in Spring and Hibernate
[英]How can I import data from a database with HashMap?
我需要从带有 hashmap 的数据库中导入数据。 有一个表媒体,我需要获取 media_id(整数)和 media_path(字符串)。 在此之前,我只是像这样导入媒体 ID:
private List<Integer> getMedias() {
final String queryString = "SELECT media_id from media where XXX ..."
final Query query = App.getCurrentSession().createSQLQuery(String.valueOf(queryString));
query.setString("xxx", xxx);
query.setDate("xxx", xxx);
query.setDate("xxx", xxx);
return query.list();
现在,我想做更多这样的事情:
private HashMap<Integer, String> getMedias() {
final String queryString = "SELECT media_id, media_path from media where XXX ..."
问题是我不知道如何使用 SQL 查询来从数据库中获取哈希图。
我怎样才能做到这一点?
我认为没有办法开箱即用。 您需要转换结果:
List<Object[]> queryResults = query.list();
Map<Integer, String> resultAsMap = new HashMap<>();
for(Object[] row : queryResults) {
resultAsMap.put((Integer)row[0], (String)row[1]);
}
return resultAsMap;
或者您可以使用流:
List<Object[]> list = query.list();
Map<Integer, String> resultAsMap = list
.stream()
.collect( Collectors.toMap( row -> (Integer) row[0], row -> (String) row[1] ) );
return resultAsMap;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.