JDBCテンプレートクエリからハッシュマップオブジェクトを抽出する方法

クシュラジリマル:

私はJDBCTemplateクエリから整数の2つのリスト/配列を抽出しようとしています。私は地図を取得することは最も実用的だろうと仮定します。クエリがあります

Map<Integer, Integer> availabletime = jdbctemp.query("
Select a.hour, 
    s.duration from appointment as a inner join services as s on a.service_fid=s.id 
where date=? and guru_fid=? 
    ",date,guru_fid,//mapperlogic.class);

私はハッシュマップのキーと値のペアとしてa.hourとs.durationを必要としています。私は少しはここに行マッパーロジックについて混乱しています。アイブ氏は、今のようなのとオブジェクトだけにマッピングされました

public class RoleRowMapper implements RowMapper<Role> {

@Override
public Role mapRow(ResultSet row, int rowNum) throws SQLException {
    Role role=new Role();
    role.setId(row.getLong("id"));
    role.setName(row.getString("name"));
    return role;
}

地図または複数のリストにクエリ結果を抽出するとともに} `缶誰かの助けを私に?

Raavan:

私は、これはあなたのケースのために働くべきだと思います。

  public Map<Integer,Integer> getAvailableTime(Date date, Integer guru_fid) {
                return jdbctemp.query("Select a.hour, s.duration from appointment as a inner join services as s on a.service_fid=s.id where date=? and guru_fid=? ",new Object[] { date, guru_fid }, (ResultSet rs) -> {
                HashMap<Integer,Integer> results = new HashMap<>();
                while (rs.next()) {
                    results.put(rs.getInt("a.hour"), rs.getInt("s.duration"));
                }
                return results;
            });

        }

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=209018&siteId=1