Java Basic Tutorial
Java Advance Tutorial
A RowSet in JDBC is an enhanced version of ResultSet that provides additional features such as scrollability, update capabilities, and offline processing.
✔ Works offline (disconnected from the database).
✔ Provides scrolling and updatable capabilities.
✔ Can be used with JavaBeans (Serializable).
✔ More flexible than ResultSet.
There are five types of RowSet in Java:
RowSet Type |
Description |
|---|---|
|
JdbcRowSet |
A connected RowSet, works like ResultSet. |
|
CachedRowSet |
A disconnected RowSet, can be serialized and modified offline. |
|
WebRowSet |
A CachedRowSet with XML support (read/write XML). |
|
FilteredRowSet |
A CachedRowSet that allows filtering rows. |
|
JoinRowSet |
Allows joining multiple RowSets like SQL JOIN. |
JdbcRowSet is a connected RowSet that works like a ResultSet but with additional features.
✔ Uses RowSetProvider.newFactory().createJdbcRowSet() to create a JdbcRowSet.
✔ Executes the query using execute().
✔ Iterates through the result using next().
✔ Unlike ResultSet, it is scrollable and updatable.
CachedRowSet allows working offline, meaning once the data is fetched, the database connection is closed, and changes can be made in memory.
✔ Fetches data and disconnects from DB using execute().
✔ Modifies data offline using updateString() and updateRow().
✔ Commits changes back to DB using acceptChanges().
WebRowSet extends CachedRowSet and allows storing and reading XML format data.
✔ Fetches data and stores it in XML format using writeXml().
✔ Useful for web applications and configuration storage.
FilteredRowSet is a CachedRowSet that allows filtering rows based on conditions.
✔ Uses setFilter() to filter data in memory without modifying SQL query.
✔ Only shows employees with id > 100.
JoinRowSet allows joining multiple RowSets like SQL JOIN.
✔ Joins two CachedRowSets on id and emp_id.