1

Springjdbcテンプレートを使用して1つのselectクエリを実行していますが、1000近くのIDがセットとして返されています。ただし、Springjdbcテンプレートを使用した実行には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;
      }
4

1 に答える 1

1

JdbcTemplate.query( )に渡す RowMapper の要点は、結果セット内のすべての行を自動的に反復し、マップされたオブジェクトをリストに挿入することであるため、rs.next() を呼び出す必要はありません。、それが返されます。行マッパーは単純に app_id を抽出して返す必要があります。完了すると、リストが返されます。

于 2012-07-16T13:55:47.687 に答える