Spring - 从查询中获取Resultset

时间:2012-11-26 11:56:51

标签: java spring jdbc

我想使用Spring JDBCTemplate但是我希望收到一个ResultSet,它不会将完整的查询结果存储在内存中,因为您会发现使用java执行标准语句JDBC。我发现ResultSet最接近的是

SqlRowSet sqlRowSet = template.getJdbcOperations().queryForRowSet(query, queryParameters);

但是这会将整个DB结果加载到内存中吗?

2 个答案:

答案 0 :(得分:3)

如果要使用JDBCTemplate获取ResultSet对象,可以使用以下代码检索javax.sql.Connection:

Connection conn = jdbcTemplate.getDataSource().getConnection();

现在,您可以执行createStatement()或preparedStatement()来获取ResultSet对象。 这是我想到的唯一方式。我希望这会对你有所帮助。

答案 1 :(得分:1)

这是你在找什么?

    JdbcTemplate t = new JdbcTemplate(dataSource);
    t.query("select * from t1", new ResultSetExtractor<Object>() {
        public Object extractData(ResultSet rs) throws SQLException, DataAccessException {
            ... process your rs
            return null;
        }
    });