JDBC de uma forma diferente: RowSet

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:

[sourcecode language=”java” highlight=”1,2,4,5,6″]
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();
}
[/sourcecode]

Realizamos de uma maneira “mais JavaBean”:

[sourcecode language=”java” highlight=”1,2,4,5,6,7,8,9,10″]
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();
}
[/sourcecode]

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6