0

我正在使用 JDBC 模板从 Spring MVC 中的数据库中获取数据。我的查询是:

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

我想将这些值存储到哈希映射中。你能帮助我如何使用 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 回答