Springjdbc模板选择查询执行需要很长时间

时间:2012-06-12 11:13:30

标签: spring select jdbc

我正在使用Springjdbc模板执行一个选择查询,它作为一组返回近1000个ID。但是使用Spring jdbc模板执行需要10分钟。 但是在Toad中,同样的查询在几秒钟内执行。

任何人都可以帮我解决这个问题吗?

我正在使用下面的代码:

return (HashSet)this.jdbcTemplate.query(
   (String) sqlMap.get("SQL_NRChargePromoApIDList"), new Object[] {  }, new DataMapperAPID());

public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
        HashSet compList = new HashSet();        
        compList.add(rs.getString("ap_id"));
        while(rs.next()){
            compList.add(rs.getString("ap_id"));
        }
        return compList;
      }

1 个答案:

答案 0 :(得分:1)

您不需要调用rs.next()作为传递给JdbcTemplate.query()的RowMapper的整个点,它将自动迭代结果集中的所有行并插入映射的对象进入一个列表,然后它将返回。行映射器应该只提取app_id然后返回它。完成后,您将获得一份清单。