通常,我们以这种方式填充 CachedRowSet:
String queryString = "select * from ... where ...";
PreparedStatement pstm = con.prepareStatement(queryString);
ResultSet rs = pstm.executeQuery();
CachedRowSet crs = RowSetProvider.newFactory().createCachedRowSet();
crs.populate(rs);
或者,我们使用这种方式来避免映射:
String queryString = "select top 1 * from AccelData where 1=0";
pstm = con.prepareStatement(queryString);
rs = pstm.executeQuery();
crs = RowSetProvider.newFactory().createCachedRowSet();
crs.populate(rs);
for(......){
crs.moveToInsertRow();
crs.update....;
crs.update....;
crs.update....;
crs.insertRow();
crs.moveToCurrentRow();
}
我的问题是,是否有另一种方法可以手动映射没有 ResultSet 的 CachedRowSet?因为我想使用 SqlServerBulkCopy,所以我希望我可以消除代码中的每个 JDBC 连接部分。