有什么方法可以在不迭代列的情况下显示结果集的所有列。
基本上,我需要节省 for 循环部分消耗的处理时间。
您必须遍历结果集行,以获取列,也没有办法绕过它,即使您使用任何可能为您提供所有列的包装器,内部它仍然会迭代每个结果集的行以获取该数据。
如果您想要一种通用的方式来迭代表的所有列,您可以使用此方法
ResultSetMetaData md = rs.getMetaData();
int colCount = md.getColumnCount();
for (int i = 1; i <= colCount ; i++){
String col_name = md.getColumnName(i);
System.out.println(col_name);
}
即使您的代码不迭代行,您正在寻找的任何解决方案都会迭代。
您无法打印未阅读的内容。
更新
现在我正在考虑这个问题,实际上有一种方法,但这不是好的做法。但是,由于问题是您是否可以做到,而不是是否应该这样做,因此这里什么都没有:
您可以修改 SQL 查询以将所有行合并到 1 行中,在这种情况下,您可以显示结果集的所有列,而无需循环访问这些行。
请记住,这不仅是不好的做法,而且您只是在其他地方迭代。
使用SQLServer:SQL Server:将多行合并为一行
使用 MySQL:我可以将多个MySQL行连接成一个字段吗?
使用 Oracle:SQL 查询连接Oracle中多行的列值