具有二进制数据的ResultSet



我有一个简单的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()上按块加载?

只需检查Javadoc:

https://docs.oracle.com/javase/6/docs/api/java/sql/ResultSet.html

您正在逐行、逐列(按索引或列名)中移动执行的SQL查询的结果

(完成结果集后,不要忘记释放资源)。

关于你的问题,作为一名程序员,将ResultSet视为流的相同概念:"你不能对过去做任何事情,你不知道未来,你只能处理现在"

相关内容

  • 没有找到相关文章

最新更新