我有一个简单的Java 6代码:
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost/db?user=u&password=p");
Statement statement = conn.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM "+tabela);
while(res.next()){
byte[] fileBytes = res.getBytes(fileColumnIndex);
fos.write(fileBytes);
}
所以我的问题是 - ResultSet是否一次将所有数据加载到某个本地内存,还是在每个res.next()上按块加载它?
答案 0 :(得分:0)
只需查看Javadoc:
https://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html
您正在逐行执行结果,逐行执行,逐列(通过索引或列名称)
(完成结果集后不要忘记释放资源)。
关于你的问题,作为程序员,将ResultSet视为与Stream相同的概念:“你不能对过去做任何事情,你不知道未来,你只能处理现在”