2010-08-16 95 views
0

我從數據庫中獲取一組數據,其中查詢產生具有不同「特殊」值的重複數據。例如,用戶「A」可以重複兩次,在「特殊列」下具有三個不同的「特殊」值。嵌套回調處理程序?

我正在使用回調處理程序來檢索數據並將其放入列表中,現在另外我希望特殊列有其自己的回調在哪裏爲每個用戶存儲特殊列表,因此用戶數據將不會重複使用並存儲到列表中,我不必手動將其過濾掉。任何人都可以指出我實現這個目標的方向嗎?

實現這一目標的另一種方法是將結果連接成字符串存在本身,它會更容易,但查詢似乎是複雜和混亂的,當我包括聯接。

的代碼如下

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

在你的DTO你不能創造條件,讓用戶作爲一個HashMap中作爲專欄的關鍵和特殊價值。

+0

感謝您的想法,方法工作=) – MilindaD 2010-08-17 06:29:11