2016-04-08 2 views
0

У меня есть простой Java 6 код:ResultSet с двоичными данными

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 загрузить все данные в некоторой локальной памяти сразу, или же он загрузит его кусками на каждом разрешении. следующий()?

ответ

0

Просто проверьте Javadoc:

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

Вы двигаетесь через ваш результат от выполненных SQL запросов, по строкам, по столбцам (по индексу или имени столбца)

(Не забудьте освободить ресурсы, когда закончите с вашим набором результатов).

О вашем вопросе, рассмотрим в качестве программиста ResultSet в той же концепции, к потоку: «Вы ничего не можете сделать о прошлом, вы не знаете, будущее, вы можете только обрабатывать настоящее»

Смежные вопросы