我想使用Spring
JDBCTemplate
但是我希望收到一个ResultSet
,它不会将完整的查询结果存储在内存中,因为您会发现使用java执行标准语句JDBC
。我发现ResultSet
最接近的是
SqlRowSet sqlRowSet = template.getJdbcOperations().queryForRowSet(query, queryParameters);
但是这会将整个DB结果加载到内存中吗?
答案 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;
}
});