Open Registry of Game Information 

  • T410: Speicherung von Spieledaten prototypisch umsetzen JAVA

  • Alles für Entwickler: Java, JavaScript, REST-API, AngularJS, HTML.
Alles für Entwickler: Java, JavaScript, REST-API, AngularJS, HTML.

Moderators: MZ per X, gene

 #35185  by gene
 13 Aug 2011, 23:13
Wie man hier sehen kann, habe ich mal einen ersten Versuch gewagt, ein Java-Projekt aufzusetzen und die ersten Zeilen Programmcode zu schreiben. Immerhin kann ich nun schon die ersten einfachen Spieledaten speichern! 8)

Irgend jemand, der sich das mal mit ansehen möchte bzw. mit einsteigen möchte in die Programmierung?

Ich verwende bisher Maven, JPA mit Hibernate und MySql als Datenbank. Einen SVN-Zugriff könnte ich vergeben, dann könnt ihr den JavaCode auschecken und ansehen!
 #35189  by gene
 15 Aug 2011, 05:54
Interessantes Zwischenergebnis dank XStream:

Code: Select all
<spiel>
  <id>1</id>
  <version>0</version>
  <hauptname>Monkey Island 2</hauptname>
  <beschreibung>Tolles Spiel mit viel Humor!</beschreibung>
  <veroeffentlichungsgruppen class="org.hibernate.collection.PersistentSet">
    <initialized>true</initialized>
    <owner class="spiel" reference="../.."/>
    <cachedSize>-1</cachedSize>
    <role>de.gamedb.entities.Spiel.veroeffentlichungsgruppen</role>
    <key class="long">1</key>
    <dirty>false</dirty>
    <storedSnapshot class="map">
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>1</id>
          <version>0</version>
          <system>MSDOS</system>
          <veroeffentlichungsgruppeTyp>VerbesserteOriginalversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>DOS (Verbesserte CD-Version)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">1</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>2</id>
          <version>0</version>
          <system>MSDOS</system>
          <veroeffentlichungsgruppeTyp>Originalversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>DOS (Originalversion)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">2</key>
            <dirty>false</dirty>
            <storedSnapshot class="map">
              <entry>
                <de.gamedb.entities.Veroeffentlichung>
                  <id>2</id>
                  <version>0</version>
                  <distributionsweg>NormalePackung</distributionsweg>
                  <veroeffentlichungsgruppe reference="../../../../.."/>
                  <beschreibung>Veröffentlichung 1-1 (PC, 5,25, DV, 256 Farben)</beschreibung>
                  <landVeroeffentlichungen class="org.hibernate.collection.PersistentSet">
                    <initialized>true</initialized>
                    <owner class="de.gamedb.entities.Veroeffentlichung" reference="../.."/>
                    <cachedSize>-1</cachedSize>
                    <role>de.gamedb.entities.Veroeffentlichung.landVeroeffentlichungen</role>
                    <key class="long">2</key>
                    <dirty>false</dirty>
                    <storedSnapshot class="map">
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>6</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>Deutschland</land>
                          <erscheinungsjahr>1990</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                    </storedSnapshot>
                    <set>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry/de.gamedb.entities.LandVeroeffentlichung"/>
                    </set>
                  </landVeroeffentlichungen>
                </de.gamedb.entities.Veroeffentlichung>
                <de.gamedb.entities.Veroeffentlichung reference="../de.gamedb.entities.Veroeffentlichung"/>
              </entry>
              <entry>
                <de.gamedb.entities.Veroeffentlichung>
                  <id>1</id>
                  <version>0</version>
                  <distributionsweg>NormalePackung</distributionsweg>
                  <veroeffentlichungsgruppe reference="../../../../.."/>
                  <beschreibung>Veröffentlichung 1-11 (PC, CD, EU, 256 Farben)</beschreibung>
                  <landVeroeffentlichungen class="org.hibernate.collection.PersistentSet">
                    <initialized>true</initialized>
                    <owner class="de.gamedb.entities.Veroeffentlichung" reference="../.."/>
                    <cachedSize>-1</cachedSize>
                    <role>de.gamedb.entities.Veroeffentlichung.landVeroeffentlichungen</role>
                    <key class="long">1</key>
                    <dirty>false</dirty>
                    <storedSnapshot class="map">
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>4</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>Spanien</land>
                          <erscheinungsjahr>9999</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>5</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>Deutschland</land>
                          <erscheinungsjahr>9999</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>1</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>Italien</land>
                          <erscheinungsjahr>9999</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>3</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>Frankreich</land>
                          <erscheinungsjahr>9999</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                      <entry>
                        <de.gamedb.entities.LandVeroeffentlichung>
                          <id>2</id>
                          <version>0</version>
                          <veroeffentlichung reference="../../../../.."/>
                          <land>UK</land>
                          <erscheinungsjahr>9999</erscheinungsjahr>
                        </de.gamedb.entities.LandVeroeffentlichung>
                        <de.gamedb.entities.LandVeroeffentlichung reference="../de.gamedb.entities.LandVeroeffentlichung"/>
                      </entry>
                    </storedSnapshot>
                    <set>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry[3]/de.gamedb.entities.LandVeroeffentlichung"/>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry[5]/de.gamedb.entities.LandVeroeffentlichung"/>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry[4]/de.gamedb.entities.LandVeroeffentlichung"/>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry/de.gamedb.entities.LandVeroeffentlichung"/>
                      <de.gamedb.entities.LandVeroeffentlichung reference="../../storedSnapshot/entry[2]/de.gamedb.entities.LandVeroeffentlichung"/>
                    </set>
                  </landVeroeffentlichungen>
                </de.gamedb.entities.Veroeffentlichung>
                <de.gamedb.entities.Veroeffentlichung reference="../de.gamedb.entities.Veroeffentlichung"/>
              </entry>
            </storedSnapshot>
            <set>
              <de.gamedb.entities.Veroeffentlichung reference="../../storedSnapshot/entry[2]/de.gamedb.entities.Veroeffentlichung"/>
              <de.gamedb.entities.Veroeffentlichung reference="../../storedSnapshot/entry/de.gamedb.entities.Veroeffentlichung"/>
            </set>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>3</id>
          <version>0</version>
          <system>AppleMacintosh</system>
          <veroeffentlichungsgruppeTyp>Originalversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>Apple Macintosh (Originalversion)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">3</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>4</id>
          <version>0</version>
          <system>Amiga</system>
          <veroeffentlichungsgruppeTyp>Originalversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>Amiga 500/600 (OCS/ECS) (Originalversion)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">4</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>5</id>
          <version>0</version>
          <system>AppleMacintosh</system>
          <veroeffentlichungsgruppeTyp>Remake</veroeffentlichungsgruppeTyp>
          <bezeichnung>Apple Macintosh (Special Edition)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">5</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>6</id>
          <version>0</version>
          <system>AtariST</system>
          <veroeffentlichungsgruppeTyp>Originalversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>Atari ST (Originalversion)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">6</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
      <entry>
        <de.gamedb.entities.Veroeffentlichungsgruppe>
          <id>7</id>
          <version>0</version>
          <system>MSDOS</system>
          <veroeffentlichungsgruppeTyp>Demoversion</veroeffentlichungsgruppeTyp>
          <bezeichnung>DOS (Demoversion)</bezeichnung>
          <spiel reference="../../../../.."/>
          <veroeffentlichungen class="org.hibernate.collection.PersistentSet">
            <initialized>true</initialized>
            <owner class="de.gamedb.entities.Veroeffentlichungsgruppe" reference="../.."/>
            <cachedSize>-1</cachedSize>
            <role>de.gamedb.entities.Veroeffentlichungsgruppe.veroeffentlichungen</role>
            <key class="long">7</key>
            <dirty>false</dirty>
            <storedSnapshot class="map"/>
            <set/>
          </veroeffentlichungen>
        </de.gamedb.entities.Veroeffentlichungsgruppe>
        <de.gamedb.entities.Veroeffentlichungsgruppe reference="../de.gamedb.entities.Veroeffentlichungsgruppe"/>
      </entry>
    </storedSnapshot>
    <set>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[2]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[3]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[4]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[5]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[6]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
      <de.gamedb.entities.Veroeffentlichungsgruppe reference="../../storedSnapshot/entry[7]/de.gamedb.entities.Veroeffentlichungsgruppe"/>
    </set>
  </veroeffentlichungsgruppen>
  <titel class="org.hibernate.collection.PersistentSet">
    <initialized>true</initialized>
    <owner class="spiel" reference="../.."/>
    <cachedSize>-1</cachedSize>
    <role>de.gamedb.entities.Spiel.titel</role>
    <key class="long">1</key>
    <dirty>false</dirty>
    <storedSnapshot class="map">
      <entry>
        <de.gamedb.entities.Titel>
          <id>1</id>
          <version>0</version>
          <name>The Secret of Monkey Island 2: Le Chuck&apos;s Revenge</name>
          <sprache>EN</sprache>
          <spiel reference="../../../../.."/>
        </de.gamedb.entities.Titel>
        <de.gamedb.entities.Titel reference="../de.gamedb.entities.Titel"/>
      </entry>
      <entry>
        <de.gamedb.entities.Titel>
          <id>2</id>
          <version>0</version>
          <name>The Secret of Monkey Island 2</name>
          <sprache>DE</sprache>
          <spiel reference="../../../../.."/>
        </de.gamedb.entities.Titel>
        <de.gamedb.entities.Titel reference="../de.gamedb.entities.Titel"/>
      </entry>
    </storedSnapshot>
    <set>
      <de.gamedb.entities.Titel reference="../../storedSnapshot/entry/de.gamedb.entities.Titel"/>
      <de.gamedb.entities.Titel reference="../../storedSnapshot/entry[2]/de.gamedb.entities.Titel"/>
    </set>
  </titel>
</spiel>
 #35233  by gene
 26 Aug 2011, 17:21
So Jungs, so langsam wird meine Gesamt-Architektur vollständiger.

Ich habe es nun endlich geschafft, meine mit JPA/Hibernate in MySQL gespeicherten Daten über ein Web-Projekt mit Stripes und einer JSP-Seite abzufragen und auf einem Tomcat-Server die HTML-Ausgabe anzuzeigen. Viel mehr an Architektur brauchen wir eigentlich nicht!

(100.13 KiB) Downloaded 606 times


Nachtrag: etwas schöner gemacht sieht es dann z.B. so aus:
(67.44 KiB) Downloaded 591 times

Hier haben wir jetzt alle Möglichkeiten, die HTML und CSS bieten.

Für Monkey Island werde ich dann demnächst in meinem Java-Programm alle Daten aus dem Wiki eintragen. Das dauert etwas, sind ja ein paar Veröffentlichungen :D
Es stellt sich dann aber die Frage, welche Daten wir noch alle benötigen, um das Seitenlayout für die Spiel-Anzeige vernünftig entwerfen zu können? Ich denke, dass wir unbedingt Screenshots und Packungs-Fotos brauchen, denn die nehmen eine Menge Platz ein.