Package net.sf.basedb.core.hibernate
Class ResultSetWork<R>
java.lang.Object
net.sf.basedb.core.hibernate.ResultSetWork<R>
- All Implemented Interfaces:
ReturningWork<R>
- Direct Known Subclasses:
AbstractSqlQuery.CountWork
public abstract class ResultSetWork<R> extends Object implements ReturningWork<R>
A work implementation that executes an SQL query on the connection,
and returns a value that is picked by a subclass from the resulting
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.- Version:
- 2.9
- Author:
- nicklas
- Last modified
- $Date: 2014-06-10 13:27:02 +0200 (ti, 10 jun 2014) $
-
Field Summary
Fields Modifier and Type Field Description private SessionControl
sc
private String
sql
-
Constructor Summary
Constructors Constructor Description ResultSetWork(SessionControl sc, String sql)
Create a new work item. -
Method Summary
Modifier and Type Method 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 theResultSet
.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.
-
Field Details
-
sc
-
sql
-
-
Constructor Details
-
ResultSetWork
Create a new work item.- Parameters:
sc
- The session control to keep alive during the execution of the sql, or nullsql
- The sql to execute
-
-
Method Details
-
execute
From the Work interface ------------------------ Specified by:
execute
in interfaceReturningWork<R>
- Throws:
SQLException
-
getSql
The sql that is executed by this work.- Since:
- 3.1
-
setParameters
This method should be overridden by subclasses that needs to set parameters on the statement that is going to be executed. The default implementation does nothing. This method is called after the statement has been prepared withConnection.prepareStatement(String)
and before it is executed withPreparedStatement.executeUpdate()
.- Parameters:
ps
- The prepared statement- Throws:
SQLException
-
getResult
This method needs to be overridden by subclasses to extract the result from theResultSet
. The result set will be closed after the call to this method.- Parameters:
rs
- The result set to get the result from- Throws:
SQLException
-