我从数据库中获取一组数据,其中查询产生具有不同“特殊”值的重复数据。例如,用户“A”可以重复两次,在“特殊列”下有三个不同的“特殊”值。
我正在使用回调处理程序来检索数据并将其放入列表中,现在另外我希望Special列具有自己的回调,其中每个用户都会存储特殊列表,因此用户数据不会是反复拍摄并存储到列表中,我不必手动过滤掉它。有人能指出我实现这个目标的方向吗?
实现这一目标的另一种方法是将结果连接到一个字符串本身,这会更容易,但是当我包含连接时,查询似乎很复杂和混乱。
代码在
之下 String query = getQuery(SPECIALS_REPORT_QUERY);
getJdbcTemplate().query(query, parameters, dataTypes, new RowCallbackHandler() {
@Override
public void processRow(ResultSet rs) throws SQLException {
SpecialsResultsSetDTO dto = new SpecialsResultsSetDTO();
dto.setRoomNo(rs.getString("ROOM_NO"));
dto.setGuestName(rs.getString("GUEST_NAME"));
dto.setNoOfAdults((rs.getInt("NO_OF_ADULTS")));
dto.setNoOfChildren(rs.getInt("NO_OF_CHILDREN"));
dto.setNoOfInfants(rs.getInt("NO_OF_INFANTS"));
dto.setMealPlanCode(rs.getString("MEAL_PLAN_CODE"));
dto.setArrivalDateTime(rs.getDate("ARRIVAL_DATE_TIME"));
dto.setDepartureDate(rs.getString("DEPARTURE_DATE"));
//there should be a callback handler or something to store the data to a list in the dto bean object (for the specials)
dtoList.add(dto);
}
});
有关解决此问题的任何建议都会有所帮助
此致 弥兰陀
答案 0 :(得分:0)
在你的dto中你不能创建一个hashmap,它将用户作为键,特殊值作为列。