O RowSet é uma classe que tem a função de adicionar o suporte ao padrão JavaBean ao JDBC.
Ao invés de realizarmos as operações desse jeito:
Connection conn = null;
Statement stmt = null;
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@//database:1521/orcl.localdomain", "thiago", "senha");
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM CLIENTE");
while(rs.next()) {
ResultSetMetaData rsMetaData = rs.getMetaData();
int columnCount = rsMetaData.getColumnCount();
for(int colIdx = 0; colIdx<columnCount; colIdx++) {
System.out.print(rs.getObject(colIdx+1) + "|");
}
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}
Realizamos de uma maneira "mais JavaBean":
RowSetFactory rowSetFactory = null;
JdbcRowSet jdbcRs = null;
try {
rowSetFactory = RowSetProvider.newFactory();
jdbcRs = rowSetFactory.createJdbcRowSet();
jdbcRs.setUrl("jdbc:oracle:thin:@//database:1521/orcl.localdomain");
jdbcRs.setUsername("thiago");
jdbcRs.setPassword("senha");
jdbcRs.setCommand("SELECT * FROM CLIENTE");
jdbcRs.execute();
while(jdbcRs.next()) {
ResultSetMetaData rsMetaData = jdbcRs.getMetaData();
int columnCount = rsMetaData.getColumnCount();
for(int colIdx = 0; colIdx<columnCount; colIdx++) {
System.out.print(jdbcRs.getObject(colIdx+1) + "|");
}
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
}