0
DBからデータを取得する際に問題があります。ibatisの値はIntegerでなければなりませんが、ハッシュマップを取得します
これはDAO
@MapKey("key")
public Map<String, Integer> getMeasurementsPerNode() throws SQLException;
からの私の方法ですマッパーは私の問題は、私は整数としてマップから得られた値を使用したいときに私は(Integer
からHashmap
を)ClassCastException
を取得している
<select id="getMeasurementsPerNode" resultType="hashmap">
SELECT
w.wd_ip AS `key`,
COUNT(m.id) AS `value`
FROM t_workers w
LEFT JOIN t_measurements m ON w.id = m.worker_id AND m.measurement_timestamp <![CDATA[>]]> DATE_SUB(NOW(), INTERVAL 1 HOUR)
WHERE w.active = 1
AND w.worker_type_id = 1
GROUP BY w.wd_ip
ORDER BY `value` DESC
</select>
があります。手伝ってくれませんか。
これは私がそれを使用するループです:
protected Map<String, Integer> nodeMeasurementsCount = nodeMapper.getMeasurementsPerNode();
for (Map.Entry<String, Integer> nodeThread : nodeMeasurementsCount.entrySet()) {
NodeRestartCounter nrc = new NodeRestartCounter();
nrc.setNode(nodeThread.getKey());
nrc.setMeasurementCount(nodeThread.getValue());
nodeRestartCounterList.add(nrc);
}
関連するコードを追加してください。 – Berger
マップを整数に変換する方法を示すことができます –
説明が更新されました。私はたくさんのことを見つけましたが、私はこの問題の解決策を見つけることができません。 – slavkovicdjordje