java - 是否可以从结果集中删除列?

标签 java jdbc resultset

我想知道是否可以从 ResultSet 对象中删除一列,我知道只要不将其选择到 select 语句中就足够了,问题是我有一个巨大的 ResultSet,其中有 2 列有超过 300k 条记录,我的程序第一步只需要 2 列,第二步按原样获取 ResultSet 并使用 POI 将其打印在 Excel 文件上。我唯一想到的就是打印时不显示它,但这会导致我修改第二步逻辑。

然后我想知道是否可以执行类似删除行来删除列的操作。

resultSet.getAbsolte(4);
resultSet.deleteRow();

谢谢

最佳答案

将两列读出到某种数据结构中:

class TableX {
   List<?> firstColVals;
   List<?> secondColVals;
}

然后,完成第一步后,需要两列中的值,只需执行

TableX tableVals = readTable(); // your usual while (rs.next()) { ... }
firstStep(tableVals);
tableVals.secondColVals = null; // now unneeded data can be freed by GC
secondStep(tableVals.firstColVals);

关于java - 是否可以从结果集中删除列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24578904/

相关文章:

java - 如何使用 JDBC 正确获取巨大的结果集

java - Android:无法使用 FileInputStream 从文件中读取

java - Tomcat 上下文中的 MySQL JDBC 连接 URL 参数

java - 长时间运行的 CallableStatement 无需等待即可执行

java - ORA-01810 : format code appears twice : jdbctemplate

Java : Retrieve Column names from ResultSet

java - 在重复发生的日期运行java函数

java - kafka生产者示例-未找到类异常

java - 创建的方法,在返回其中的变量时遇到问题

java - 获取结果集的连续 2 行