Каков наилучший способ поместить данные набора результатов в текстовый файл? - PullRequest
1 голос
/ 22 апреля 2010

Я хочу поместить все данные в наборе результатов в текстовый файл в том же порядке. Есть ли способ получить данные во всех строках одновременно и записать в файл, или нужно записывать их построчно?

Ответы [ 3 ]

2 голосов
/ 22 апреля 2010

Зачем идти через Java, чтобы сделать это? Многие СУБД предоставляют эту функцию из коробки.

Пример MySQL:

select
   your_first_field,
   your_second_field
from
   your_favorite_table
into
   outfile
      '/path/to/favorite/file.csv'
   fields terminated by ','
   enclosed by '"'
   lines terminated by '\n'
1 голос
/ 22 апреля 2010

ResultSet не так, как вы думаете. Это просто ссылка на фактический набор результатов в базе данных. Вы не можете конвертировать его за один выстрел. Вам придется повторять это построчно. Всякий раз, когда запускается запрос на выборку, полученный результат сохраняется в кэше базы данных, для которого jdbc выделяет ссылку на набор результатов, чтобы упростить доступ к данным.

Итак, ответ на ваш вопрос: да, вам нужно повторять строку за строкой, и, вероятно, вы можете использовать CSV-файл для хранения ваших значений.

0 голосов
/ 23 апреля 2010

1) Ответ на этот вопрос может быть обработан следующим образом

Что бы вы ни получили в наборе результатов, выполните итерацию по набору результатов, а когда вы сохраняете данные в переменные, отправьте их в файлы csv через пакет ввода-вывода файла

2) если у вас есть база данных, оттуда напрямую экспортируйте данные в файлы csv.

...