Übung 2.5: Automatische Schlüsselerstellung verwenden

Bevor Sie beginnen, müssen Sie Übung 2.4: Navigationsregeln verwenden vollständig bearbeitet haben.

In der vorherigen Übung haben Sie Navigationsregeln eingerichtet, um sicherzustellen, dass der Benutzer eine eindeutige ID-Nummer für die neue Kleinanzeige eingegeben hat. Dieser Prozess ist frustrierend, da Benutzer gewöhnlich nun einmal nicht gerne Zahlen raten.

Am einfachsten ist es natürlich, wenn die Datenbank selbst jedem Datensatz eine eindeutige ID-Nummer zuordnet. In dieser Übung werden Sie die automatische Schlüsselerstellung einrichten, damit die Site jedem neuen Datensatz in der Datenbank automatisch eine neue Nummer zuordnet.

Die automatische Schlüsselerstellung ist ein komplexes Thema. In Kürze bedeutet dies, dass eine Datenbank neue Schlüssel auswählen kann, wenn sie über eine besondere Tabelle verfügt, die für die Schlüsselerstellung reserviert ist. In dieser Tabelle muss sich eine Liste mit bisher noch nicht verwendeten Schlüsseln in der einen Spalte (der Inkrementorspalte) und eine Liste mit geordneten Nummern beginnend mit 1 in der anderen Spalte (der Identitätsspalte) befinden. Wenn die Datenbank einen neuen Schlüssel benötigt, nimmt sie den Schlüssel aus der Zeile mit der 1 in der Identitätsspalte und bereitet einen neuen Schlüssel für das nächste Mal vor. Weitere Informationen über automatische Schlüsselerstellung

Die automatische Schlüsselerstellung einrichten

Anzeige

Die mit diesem Lerntext bereitgestellte Musterdatenbank verfügt über eine Schlüsselerstellungstabelle namens KEYS (SCHLÜSSEL). Ihre beiden zuvor beschriebenen Spalten werden für jeden neuen Datensatz eine neue ID-Nummer liefern. Mit den folgenden Schritten werden Sie den relationalen Datensatz create_record einrichten, um dessen ID-Nummer aus der Tabelle KEYS abzurufen.

  1. Klicken Sie doppelt auf die Seite new_record.jsp in der Ansicht 'Projekt-Explorer'.
  2. Klicken Sie doppelt auf den relationalen Datensatz create_record in der Ansicht 'Seitendaten'. Das Fenster 'Relationalen Datensatz konfigurieren' wird geöffnet.
  3. Klicken Sie auf die Registerkarte Schlüsselerstellung.
  4. Klicken Sie auf Automatische Schlüsselerstellung verwenden.
  5. Klicken Sie auf die Tabelle W5SAMPLE.KEYS .
  6. Klicken Sie im Feld Identitätsspalte auswählen auf KEY_ID (SCHLÜSSEL-ID).
  7. Klicken Sie im Feld Inkrementorspalte auswählen auf NEXT_KEY (NÄCHSTER_SCHLÜSSEL).

    Da Sie für die ID der Kleinanzeige lediglich einen Schlüssel benötigen, belassen Sie die Einstellung von Abgerufene Schlüssel auf 1. Wenn Sie mehrere Schlüssel brauchen würden, könnte die Datenbank über diese Einstellung veranlasst werden, alle Schlüssel gleichzeitig auswählen.

    Das Fenster 'Datenobjekt konfigurieren' sollte folgendermaßen aussehen:

    Fenster 'Datenobjekt konfigurieren'

  8. Klicken Sie auf Schließen.

    Nun wird das Feld ID für jeden neuen Datensatz automatisch generiert. Daher müssen Sie das Eingabefeld ID entfernen, damit der Benutzer keinen Wert eingeben kann.

  9. Platzieren Sie den Cursor in die oberste Zeile der Eingabeformulartabelle, indem Sie auf den Text ID: klicken.
  10. Klicken Sie auf Tabelle > Zeile löschen.
  11. Speichern Sie die Seite.
  12. Stellen Sie sicher, dass der Code für die automatische Schlüsselerstellung korrekt dem Seitencode hinzugefügt wurde:
    1. Klicken Sie mit der rechten Maustaste auf die Seite new_record.jsp im Seitendesigner, und wählen Sie Seitencode bearbeiten aus. Die Datei New_record.java wird geöffnet.
    2. Suchen Sie die Methode getCreate_record().
    3. Stellen Sie sicher, dass die folgende Codezeile vor der Catch-Klausel hinzugefügt wurde:

      getCreate_recordMediator().autoGenerateKey(create_record);

Wenn Sie sehen wollen, welcher Schlüssel jeweils für Sie generiert wird, hätten Sie stattdessen auch die Möglichkeit, die Eingabekomponente für die ID-Nummer zu löschen und sie durch eine Ausgabekomponente zu ersetzen, die an die Spalte ID von create_record gebunden ist. In diesem Fall würde der automatisch erstellte Schlüssel oben im Formular angezeigt werden, ohne dass der Benutzer ihn ändern könnte.

Das Endergebnis des bearbeiteten Lerntextes ausführen

Wenn Sie bereit sind, Ihre Webanwendung zu publizieren, benötigen Sie einen Host-Server, damit Benutzer über das Internet auf die Website zugreifen können. Zum Testen Ihrer Website können Sie jedoch WebSphere Application Server verwenden, um einen Server für Testzwecke zu simulieren. Informationen dazu, wie die Website getestet wird, finden Sie in Übung 1.3: Die Website testen.

Herzlichen Glückwunsch!

Sie haben den Lerntext "Dynamische Informationen auf Webseiten mit JavaServer Faces anzeigen" abgeschlossen. Arbeiten Sie nun mit der Zusammenfassung dieses Lerntexts weiter.

Feedback
(C) Copyright IBM Corporation 2000, 2005. Alle Rechte vorbehalten.