Pobranie danych z bazy i zapisanie w formie XML

0

Witam,
Jestem początkującym programistą w trakcie nauki języka Java. Podczas nauki stworzyłem kilka mniej lub bardziej przydatnych aplikacji jednak maksymalny zakres to tworzenie aplikacji okienkowych w oparciu z Swing z użyciem bazy danych Oracle zapewniająca proste operacje CRUD na kilku tabelach.
Szukając przykładów, na których mógłbym kontynuować naukę wpadłem na pomysł aplikacji, która rozwiązałaby spory problem w mojej firmie.
Problem: System ERP, który nie ma domyślnie modułu/opcji do generowania dokumentów w formie plików xml. Plików XML oczekują klienci w celu importu do własnych systemów.
System ERP działa w oparciu o system bazodanowy Oracle 11g, chciałbym rozpocząć od generowania do xml faktury, faktury w bazie danych reprezentowane są przez dwie tabele:

DokumentyFv – nagłówki faktur zawierające id klienta, dane dotyczące wystawienia dokumentów, termin i sposób płatności
dokumentyFvPozycje – pozycje przypisane do nagłówków, pozycji może być wiele, informacje zawarte w tej tabeli to min. Id towaru, cena(netto, brutto, vat), ilość, zastosowany cennik*
Celem aplikacji będzie:

  1. Połączenie się z bazą danych
  2. Zapytanie użytkownika o ID dokumentu
  3. Wygenerowanie pliku XML najlepiej w formacie ComarchEDI z możliwością zapisu na dysk (http://www.comarchedi.pl/files_pl/file_233/INVOIC_XML_v758_20150918.pdf)
    Mam dwa problemy:
  4. Nie wiem jak podejść do wyciągnięcia danych z bazy – czy tworzyć dwie klasy – „nagłówki” i „pozycje”, czy w bazie utworzyć widok łączący nagłówki z pozycjami i wczytywać to do klasy „dokumenty” czy może jeszcze jakoś inaczej?
  5. Nie wiem, w jaki sposób utworzyć odpowiednie drzewo tagów – mój pomysł jest taki żeby stworzyć wielkiego stringa, który będzie zwracał odpowiednie drzewo, – ale czy to jest dobra praktyka?

Proszę o sugestie i podpowiedzi.

0

Ja bym poszedł w kierunku generowania xml-a zapytaniem: https://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb13gen.htm#ADXDB1600

0

Dobrze rozumiem że powinienem odpowiednio skonstruowane zapytanie wrzucać sobie do obiektu klasy Dokument a następnie ten obiekt ładować do pliku na dysk?

1 użytkowników online, w tym zalogowanych: 0, gości: 1