Сохранять получение данных из базы данных в Java - PullRequest
2 голосов
/ 02 мая 2011

Каков наилучший способ хранения данных, извлеченных из базы данных, в Java для обработки?

Вот некоторый контекст:

Каждый месяц данные из файлов Excel хранятся в базе данных, и наше веб-приложение (обычный JSP / Servlet) выполняет некоторую обработку этих данных в базе данных.В настоящее время мы используем ArrayList из Hashmaps для хранения данных, извлеченных из таблиц, но это выглядит очень неуклюже.Есть ли лучший способ или структура данных для этого?

На самом деле невозможно создать какой-то класс Model для каждого из них, потому что нет логического объекта «Пользователь» или чего-то подобного.Это в основном куски случайных данных, которые должны быть обработаны.Хранимая процедура также не является ответом, потому что логика обработки довольно сложна.

Ответы [ 2 ]

2 голосов
/ 02 мая 2011

Попробуйте использовать API Java для более быстрого выполнения.

  1. Apache POI
  2. API Java Excel, а именно JXL

Проверьте ссылку примера учебника, используя JXL: Ссылка

Если ваши файлы Excel имеют формат csv, используйте openCSV .

1 голос
/ 02 мая 2011

На самом деле невозможно создать какой-то класс Model для каждого из них, потому что нет логического объекта «Пользователь» или чего-то подобного. Это в основном куски случайных данных, которые должны быть обработаны. Хранимая процедура также не является ответом, потому что логика обработки довольно сложна.

Тогда нет лучшего способа, чем использовать List<Map<String, Object>>. Чтобы смягчить боль, вы можете абстрагировать Map<String, Object>, распространяя его на другой класс, например Row с в конечном итоге удобными методами для приведения значений (.getAsDouble(columnname) или даже T get(columnname, Class<T> type) и т. Д.), Чтобы сделать обход и манипулирование менее страшным.

...