T
- Element typepublic class ResultSetEnumerable<T> extends AbstractEnumerable<T>
Enumerable
.Modifier and Type | Class and Description |
---|---|
static interface |
ResultSetEnumerable.PreparedStatementEnricher
Consumer for decorating a
PreparedStatement , that is, setting
its parameters. |
private static class |
ResultSetEnumerable.ResultSetEnumerator<T>
Implementation of
Enumerator that reads from a
ResultSet . |
Modifier and Type | Field and Description |
---|---|
private static Function1<java.sql.ResultSet,Function0<java.lang.Object>> |
AUTO_ROW_BUILDER_FACTORY |
private javax.sql.DataSource |
dataSource |
private static org.slf4j.Logger |
LOGGER |
private ResultSetEnumerable.PreparedStatementEnricher |
preparedStatementEnricher |
private java.lang.Long |
queryStart |
private Function1<java.sql.ResultSet,Function0<T>> |
rowBuilderFactory |
private java.lang.String |
sql |
private long |
timeout |
private boolean |
timeoutSetFailed |
Modifier | Constructor and Description |
---|---|
private |
ResultSetEnumerable(javax.sql.DataSource dataSource,
java.lang.String sql,
Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory) |
private |
ResultSetEnumerable(javax.sql.DataSource dataSource,
java.lang.String sql,
Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory,
ResultSetEnumerable.PreparedStatementEnricher preparedStatementEnricher) |
Modifier and Type | Method and Description |
---|---|
private void |
closeIfPossible(java.sql.Connection connection,
java.sql.Statement statement) |
static ResultSetEnumerable.PreparedStatementEnricher |
createEnricher(java.lang.Integer[] indexes,
DataContext context)
Called from generated code that proposes to create a
ResultSetEnumerable over a prepared statement. |
Enumerator<T> |
enumerator() |
private Enumerator<T> |
enumeratorBasedOnPreparedStatement() |
private Enumerator<T> |
enumeratorBasedOnStatement() |
static ResultSetEnumerable<java.lang.Object> |
of(javax.sql.DataSource dataSource,
java.lang.String sql)
Creates an ResultSetEnumerable.
|
static <T> ResultSetEnumerable<T> |
of(javax.sql.DataSource dataSource,
java.lang.String sql,
Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory)
Executes a SQL query and returns the results as an enumerator, using a
row builder to convert JDBC column values into rows.
|
static <T> ResultSetEnumerable<T> |
of(javax.sql.DataSource dataSource,
java.lang.String sql,
Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory,
ResultSetEnumerable.PreparedStatementEnricher consumer)
Executes a SQL query and returns the results as an enumerator, using a
row builder to convert JDBC column values into rows.
|
static ResultSetEnumerable<java.lang.Object> |
of(javax.sql.DataSource dataSource,
java.lang.String sql,
Primitive[] primitives)
Creates an ResultSetEnumerable that retrieves columns as specific
Java types.
|
private static Function1<java.sql.ResultSet,Function0<java.lang.Object>> |
primitiveRowBuilderFactory(Primitive[] primitives) |
private static void |
setDynamicParam(java.sql.PreparedStatement preparedStatement,
int i,
java.lang.Object value)
Assigns a value to a dynamic parameter in a prepared statement, calling
the appropriate
setXxx method based on the type of the value. |
void |
setTimeout(DataContext context) |
private void |
setTimeoutIfPossible(java.sql.Statement statement) |
iterator
aggregate, aggregate, aggregate, all, any, any, asEnumerable, asOrderedQueryable, asQueryable, average, average, average, average, average, average, average, average, average, average, cast, concat, contains, contains, correlateJoin, correlateJoin, count, count, createOrderedEnumerable, defaultIfEmpty, defaultIfEmpty, distinct, distinct, elementAt, elementAtOrDefault, except, except, first, first, firstOrDefault, firstOrDefault, foreach, getThis, getThisOrdered, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupBy, groupJoin, groupJoin, hashJoin, hashJoin, hashJoin, intersect, intersect, into, last, last, lastOrDefault, lastOrDefault, longCount, longCount, max, max, max, max, max, max, max, max, max, max, max, max, min, min, min, min, min, min, min, min, min, min, min, min, ofType, orderBy, orderBy, orderByDescending, orderByDescending, removeAll, reverse, select, select, selectMany, selectMany, selectMany, selectMany, sequenceEqual, sequenceEqual, single, single, singleOrDefault, singleOrDefault, skip, skipWhile, skipWhile, sum, sum, sum, sum, sum, sum, sum, sum, sum, sum, take, takeWhile, takeWhile, thenBy, thenBy, thenByDescending, thenByDescending, toList, toLookup, toLookup, toLookup, toLookup, toMap, toMap, toMap, toMap, union, union, where, where, zip
private final javax.sql.DataSource dataSource
private final java.lang.String sql
private final ResultSetEnumerable.PreparedStatementEnricher preparedStatementEnricher
private static final org.slf4j.Logger LOGGER
private java.lang.Long queryStart
private long timeout
private boolean timeoutSetFailed
private ResultSetEnumerable(javax.sql.DataSource dataSource, java.lang.String sql, Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory, ResultSetEnumerable.PreparedStatementEnricher preparedStatementEnricher)
public static ResultSetEnumerable<java.lang.Object> of(javax.sql.DataSource dataSource, java.lang.String sql)
public static ResultSetEnumerable<java.lang.Object> of(javax.sql.DataSource dataSource, java.lang.String sql, Primitive[] primitives)
public static <T> ResultSetEnumerable<T> of(javax.sql.DataSource dataSource, java.lang.String sql, Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory)
public static <T> ResultSetEnumerable<T> of(javax.sql.DataSource dataSource, java.lang.String sql, Function1<java.sql.ResultSet,Function0<T>> rowBuilderFactory, ResultSetEnumerable.PreparedStatementEnricher consumer)
It uses a PreparedStatement
for computing the query result,
and that means that it can bind parameters.
public void setTimeout(DataContext context)
public static ResultSetEnumerable.PreparedStatementEnricher createEnricher(java.lang.Integer[] indexes, DataContext context)
ResultSetEnumerable
over a prepared statement.private static void setDynamicParam(java.sql.PreparedStatement preparedStatement, int i, java.lang.Object value) throws java.sql.SQLException
setXxx
method based on the type of the value.java.sql.SQLException
public Enumerator<T> enumerator()
private Enumerator<T> enumeratorBasedOnStatement()
private Enumerator<T> enumeratorBasedOnPreparedStatement()
private void setTimeoutIfPossible(java.sql.Statement statement) throws java.sql.SQLException
java.sql.SQLException
private void closeIfPossible(java.sql.Connection connection, java.sql.Statement statement)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.