我有一个使用java.sql.ResultSet
的应用程序,它需要能够将用户指定的ResultSet
的子集导出到XML。我想为此使用javax.sql.rowset.WebRowSet
,例如:
var resultset = connection.createStatement().executeQuery("SELECT …");
var rowset = javax.sql.rowset.RowSetProvider.newFactory().createWebRowSet();
rowset.populate(resultset);
var writer = new StringWriter();
rowset.writeXml(writer);
return writer.toString();
但是,这总是序列化整个ResultSet
(有时包含数百万行)。如何在不重新执行查询的情况下仅将打开的ResultSet
的几行序列化为XML?