Estou utilizando WebRowSet para pegar uma tabela inteira de meu BD e serializar em XML para depois fazer o inverso, criar a tabela no BD a partir desse file criado. Porém o XML está vindo somente com a estrutura da tabela, as propriedades e os metadados, os dados não estão sendo serializados no XML.
Alguém pode ajudar com isso?
Código:
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.rowset.WebRowSet;
import com.sun.rowset.WebRowSetImpl;
import com.sun.rowset.internal.WebRowSetXmlReader;
import com.sun.rowset.internal.WebRowSetXmlWriter;
public class WebRowSetTeste {
public static void main(String[] args) throws Exception {
Connection conn = getConnection();
PreparedStatement p = conn
.prepareStatement("select *from TIPOEQUIPAMENTO");
ResultSet rs = p.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
System.out.println(rs.getString(4));
}
WebRowSet wrs = new WebRowSetImpl();
wrs.populate(rs);
p.close();
conn.close();
wrs.writeXml(new FileOutputStream("tipoequipamento.xml"));
wrs.close();
}
private static Connection getConnection() throws ClassNotFoundException,
SQLException {
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
Connection conn = DriverManager
.getConnection("jdbc:derby:XXX;user=XXX;password=XXX");
return conn;
}
}