Java Spring-从查询中获取结果集

Java Spring-从查询中获取结果集,java,spring,jdbc,Java,Spring,Jdbc,我想使用SpringJDBCTemplate,但我想接收一个ResultSet,它不会将完整的查询结果存储在内存中,正如您会发现使用javaJDBC执行标准语句一样。我找到的最接近结果集的是 SqlRowSet sqlRowSet = template.getJdbcOperations().queryForRowSet(query, queryParameters); 但这会将整个数据库结果加载到内存中?这是您要查找的吗 JdbcTemplate t = new JdbcTempla

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

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

但这会将整个数据库结果加载到内存中?

这是您要查找的吗

    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;
        }
    });
JdbcTemplate t=新的JdbcTemplate(数据源);
t、 查询(“从t1中选择*”,新的ResultSetTextRactor(){
公共对象提取数据(ResultSet rs)引发SQLException、DataAccessException{
…处理你的简历
返回null;
}
});

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

Connection conn = jdbcTemplate.getDataSource().getConnection();
现在可以执行createStatement()或preparedStatement()来获取ResultSet对象。
这是我唯一想到的方法。我希望这将对您有所帮助。

JDBCTemplate将在返回结果之前关闭连接,因此,据我所知,使用JDBCTemplate执行“传统”结果集方法是不可能的。为什么您需要一个结果集?也许可以用另一种方法来解决这个问题?
SimpleJDCoperations
类有一个
queryForList
方法,您可以使用它,但它不会给您一个
ResultSet
。这似乎是最简单的方法。。。我想知道为什么jdbc模板没有决定返回
ResultSet