Class SqlRowSetResultSetExtractor

    • Method Detail

      • extractData

        public SqlRowSet extractData​(ResultSet rs)
                              throws SQLException
        Description copied from interface: ResultSetExtractor
        Implementations must implement this method to process the entire ResultSet.
        Specified by:
        extractData in interface ResultSetExtractor<SqlRowSet>
        Parameters:
        rs - ResultSet to extract data from. Implementations should not close this: it will be closed by the calling JdbcTemplate.
        Returns:
        an arbitrary result object, or null if none (the extractor will typically be stateful in the latter case).
        Throws:
        SQLException - if a SQLException is encountered getting column values or navigating (that is, there's no need to catch SQLException)
      • createSqlRowSet

        protected SqlRowSet createSqlRowSet​(ResultSet rs)
                                     throws SQLException
        Create a SqlRowSet that wraps the given ResultSet, representing its data in a disconnected fashion.

        This implementation creates a Spring ResultSetWrappingSqlRowSet instance that wraps a standard JDBC CachedRowSet instance. Can be overridden to use a different implementation.

        Parameters:
        rs - the original ResultSet (connected)
        Returns:
        the disconnected SqlRowSet
        Throws:
        SQLException - if thrown by JDBC methods
        See Also:
        newCachedRowSet(), ResultSetWrappingSqlRowSet
      • newCachedRowSet

        protected CachedRowSet newCachedRowSet()
                                        throws SQLException
        Create a new CachedRowSet instance, to be populated by the createSqlRowSet implementation.

        The default implementation uses JDBC 4.1's RowSetProvider when running on JDK 7 or higher, falling back to Sun's com.sun.rowset.CachedRowSetImpl class on older JDKs.

        Returns:
        a new CachedRowSet instance
        Throws:
        SQLException - if thrown by JDBC methods
        See Also:
        createSqlRowSet(java.sql.ResultSet)