【问题标题】:ResultSet with binary data [duplicate]带有二进制数据的结果集[重复]
【发布时间】:2016-07-29 10:09:40
【问题描述】:

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

【问题讨论】:

    标签: java resultset


    【解决方案1】:

    只需检查 Javadoc:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 2014-08-16
      • 2012-11-12
      • 1970-01-01
      相关资源
      最近更新 更多