0

Spring MVC でデータベースからデータを取得するために JDBC テンプレートを使用しています。私のクエリは次のとおりです。

SELECT count(A.MEETING_ID),ITEM_TBL.REG_EMAIL FROM ITEM_TBL,MEETINGS_TBL WHERE ITEM_TBL.MEETING_ID=MEETINGS_TBL.MEETING_ID 
GROUP BY ITEM_TBL.REG_EMAIL

これは次のような行を返します:

11 nishant@gmail.com
12 abhilasha@yahoo.com
13 shiwani@in.com

これらの値を Hash MAP に格納したい。JDBC TEMPLATE を使用してこれを行う方法を教えてください。ありがとう

4

1 に答える 1

1

ResultExtractorが必要です。

以下のコードを使用してそれを達成することができます。

String sql = "SELECT count(A.MEETING_ID),ITEM_TBL.REG_EMAIL FROM ITEM_TBL,MEETINGS_TBL WHERE        ITEM_TBL.MEETING_ID=MEETINGS_TBL.MEETING_ID 
        GROUP BY ITEM_TBL.REG_EMAIL";

ResultExtractor mapExtractor = new ResultSetExtractor() {
   public Object extractData(ResultSet rs) throws SQLException {
      Map<String, String> mapOfKeys = new HashMap<String, String>();
      while (rs.next()) {
        String key = rs.getString("MEETING_ID");
        String obj = rs.getString("REG_EMAIL");
        /* set the business object from the resultset */
        mapOfKeys.put(key, obj);
      }
      return mapOfKeys;
   }
};

Map map = (HashMap) jdbcTemplate.query(sql.toString(), mapExtractor);
于 2012-12-17T04:39:47.443 に答える