bootiful-sqltemplate-core/src/main/java/ninja/cero/sqltemplate/core/SqlTemplate.java
public <U> U forStream(
            String fileName,
            Map<String, Object> params,
            Function<? super Stream<Map<String, Object>>, U> handleStream) {
        String sql = getTemplate(fileName, params);
        SqlParameterSource sps = paramBuilder.byMap(params);
        RowMapper<Map<String, Object>> mapper = new ColumnMapRowMapper();
        return queryStreamWithNamedParams(sql, sps, mapper, handleStream);
    }
public <U> U forStream(
            String fileName,
            Map<String, Object> params,
            Function<? super Stream<Map<String, Object>>, U> handleStream) {
        String sql = getTemplate(fileName, params);
        SqlParameterSource sps = paramBuilder.byMap(params);
        RowMapper<Map<String, Object>> mapper = new ColumnMapRowMapper();
        return queryStreamWithNamedParams(sql, sps, mapper, handleStream);
    }
Executes a query using {@code params} as the named parameters,
passing the column maps to {@code handleStream} as a stream.

<p>Example usage:</p>

<pre>
Map&lt;String, Object&gt; params = new HashMap&gt;&lt;();
params.put("deptno", 30);
params.put("job", "SALESMAN");
int totalSalary = sqlTemplate.forStream("/path/to/query.sql", params,
mapStream -&gt; mapStream.mapToInt(map -&gt; (Integer) map.get("salary")).sum());
</pre>

@param fileName parameterized SQL specifier
@param params the named parameters
@param handleStream  the function which is applied to the stream
@param <U> the result type
@return the result of {@code handleStream}
@throws org.springframework.dao.DataAccessException if there is any problem