public class RowCountCallbackHandler extends Object implements RowCallbackHandler
We can either use this on its own (for example, in a test case, to ensure that our result sets have valid dimensions), or use it as a superclass for callback handlers that actually do something, and will benefit from the dimension information it provides.
A usage example with JdbcTemplate:
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); // reusable object RowCountCallbackHandler countCallback = new RowCountCallbackHandler(); // not reusable jdbcTemplate.query("select * from user", countCallback); int rowCount = countCallback.getRowCount();
Constructor and Description |
---|
RowCountCallbackHandler() |
Modifier and Type | Method and Description |
---|---|
int |
getColumnCount()
Return the number of columns in this result set.
|
String[] |
getColumnNames()
Return the names of the columns.
|
int[] |
getColumnTypes()
Return the types of the columns as java.sql.Types constants
Valid after processRow is invoked the first time.
|
int |
getRowCount()
Return the row count of this ResultSet
Only valid after processing is complete
|
void |
processRow(ResultSet rs)
Implementation of ResultSetCallbackHandler.
|
protected void |
processRow(ResultSet rs,
int rowNum)
Subclasses may override this to perform custom extraction
or processing.
|
public final void processRow(ResultSet rs) throws SQLException
Subclasses can perform custom extraction or processing
by overriding the processRow(ResultSet, int)
method.
processRow
in interface RowCallbackHandler
rs
- the ResultSet to process (pre-initialized for the current row)SQLException
- if a SQLException is encountered getting
column values (that is, there's no need to catch SQLException)processRow(java.sql.ResultSet, int)
protected void processRow(ResultSet rs, int rowNum) throws SQLException
rs
- ResultSet to extract data from. This method is
invoked for each rowrowNum
- number of the current row (starting from 0)SQLException
public final int[] getColumnTypes()
public final String[] getColumnNames()
public final int getRowCount()
public final int getColumnCount()