public abstract class ResultSetWork<R> extends Object implements ReturningWork<R>
ResultSet
. This class needs to be subclassed and implementors
should provide an implementation of the getResult(ResultSet)
method. By overridding the setParameters(PreparedStatement)
method it is possible to set parameters on the prepared statement before
the SQL is executed.Modifier and Type | Field and Description |
---|---|
private SessionControl |
sc |
private String |
sql |
Constructor and Description |
---|
ResultSetWork(SessionControl sc,
String sql)
Create a new work item.
|
Modifier and Type | Method and Description |
---|---|
R |
execute(Connection connection)
From the Work interface
-----------------------
|
protected abstract R |
getResult(ResultSet rs)
This method needs to be overridden by subclasses to extract the
result from the
ResultSet . |
String |
getSql()
The sql that is executed by this work.
|
protected void |
setParameters(PreparedStatement ps)
This method should be overridden by subclasses that needs to
set parameters on the statement that is going to be executed.
|
private final SessionControl sc
private final String sql
public ResultSetWork(SessionControl sc, String sql)
sc
- The session control to keep alive during the execution
of the sql, or nullsql
- The sql to executepublic R execute(Connection connection) throws SQLException
execute
in interface ReturningWork<R>
SQLException
public String getSql()
protected void setParameters(PreparedStatement ps) throws SQLException
Connection.prepareStatement(String)
and before it is executed
with PreparedStatement.executeUpdate()
.ps
- The prepared statementSQLException
protected abstract R getResult(ResultSet rs) throws SQLException
ResultSet
. The result set will be closed
after the call to this method.rs
- The result set to get the result fromSQLException