< Zurück | Weiter >

Lerneinheit 2: Methode zur InventoryLevelsData-Schnittstelle hinzufügen

In dieser Lerneinheit schreiben Sie eine Methode, die den Wert der Spalte QUANTITY_SHIPPED aus der Tabelle INVENTORY_LEVELS zurückgibt.
Die von pureQuery generierten SQL-Anweisungen sind alle hilfreich, jedoch wollen Sie möglicherweise auch angepasste Anweisungen für die Anwendungen, die Sie schreiben. Für eine Ihrer Anwendungen ist beispielsweise eine Anweisung SELECT erforderlich, um zu ermitteln, wie viele Einheiten eines bestimmten Produkts in einem bestimmten Monat eines bestimmten Jahres ausgeliefert wurden. Die Anwendung muss dann lediglich die Anzahl der ausgelieferten Einheiten zurückgeben, jedoch keine anderen Werte.

Mit pureQuery kann die Deklaration dieser neuen Methode der Schnittstelle problemlos hinzugefügt werden. Anschließend generiert PureQuery die Implementierungsklasse automatisch neu, damit diese die Methode implementiert.

Gehen Sie wie folgt vor, um der Schnittstelle eine neue Methode hinzuzufügen:

  1. Rufen Sie die Registerkarte InventoryLevelsData.java auf.
  2. Fügen Sie unter der zweiten Methode getInventoryLevels() (die einzelne Felder akzeptiert) eine Reihe leerer Zeilen hinzu und geben Sie anschließend die folgenden Zeilen ein:
    	// Select QUANTITY_SHIPPED by parameters
    	@Select(sql = "SELECT  FROM ")
    Tipp: Sie können die Fehlermarkierungen im Editor ignorieren. Sie werden entfernt, wenn Sie die Deklaration der Methode abgeschlossen haben.
  3. Fügen Sie dem Code das GSDB-Schema hinzu:
    1. Klicken Sie auf den von Ihnen gerade eingegebenen Code, um den Cursor direkt vor dem zweiten Anführungszeichen zu positionieren. Halten Sie anschließend die Steuertaste gedrückt und drücken Sie die Leertaste. Ein kleines Fenster wird direkt unter der aktuellen Zeile angezeigt. In diesem Fenster sind die für die Anweisung vorgeschlagenen SQL-Elemente aufgeführt.
    2. Blättern Sie im kleinen Fenster abwärts, bis Ihnen die Liste der Schemata in der Datenbank GSDB angezeigt wird, und klicken Sie doppelt auf das Schema GOSALES.
  4. Fügen Sie dem Code die Tabelle INVENTORY_LEVELS hinzu:
    1. Geben Sie im Code einen Punkt nach dem Schema ein und drücken Sie erneut die Steuer- und die Leertaste gleichzeitig, um ein kleines Fenster mit der Liste der Tabellen aufzurufen, die sich in diesem Schema befinden.
    2. Blättern Sie mithilfe der Abwärtspfeiltaste bis zur Tabelle INVENTORY_LEVELS und drücken Sie die Eingabetaste.
  5. Beenden Sie die SQL-Anweisung. Sie wollen den Wert der Spalte QUANTITY_SHIPPED auswählen. Sie wollen auch den Namen der Spalte schnell und fehlerfrei hinzufügen.
    1. Klicken Sie, um den Cursor zwischen den beiden auf das Schlüsselwort SELECT folgenden Leerzeichen zu positionieren. Halten Sie die Steuertaste gedrückt und drücken Sie die Leertaste. Unter der aktuellen Zeile wird ein weiteres Fenster angezeigt. In diesem Fenster sind die Spalten aufgeführt, die sich in der Tabelle INVENTORY_LEVELS befinden.
    2. Blättern Sie mithilfe der Abwärtspfeiltaste nach unten bis zur Spalte QUANTITY_SHIPPED und drücken Sie die Eingabetaste.
    3. Schreiben Sie die Klausel WHERE, sodass diese wie die vorherige Anweisung SELECT die vier Primärschlüsselspalten enthält.
  6. Formatieren Sie die SQL-Anweisung, sodass diese bildschirmfüllend angezeigt wird. In den vorherigen Schritten haben Sie beim Schreiben der Anweisung möglicherweise so weit nach rechts geblättert, dass der restliche Code nicht mehr sichtbar ist.
    Abbildung 1. Ende der Anweisung SELECT
    Ende der Anweisung SELECT

    Es ist jedoch nicht immer erforderlich, zum Lesen der Anweisung SELECT so weit nach rechts zu blättern. Gehen Sie wie folgt vor, um die SQL-Anweisung zu formatieren:

    1. Klicken Sie, um den Cursor in der Anweisung zu positionieren. Klicken Sie mit der rechten Maustaste auf die Anweisung und wählen Sie Datenzugriffsentwicklung > SQL formatieren aus.
    2. Blättern Sie ganz nach links. Beachten Sie, dass die SQL-Anweisung jetzt übersichtlich über mehrere Zeilen verteilt ist.
  7. Schreiben Sie die Methode, sodass sie eine ganze Zahl mit dem Wert von QUANTITY_SHIPPED zurückgibt und einzelne Felder als Parameter akzeptiert.
    int getQuantityShipped(short inventoryYear, short inventoryMonth,
    			int warehouseBranchCode, int productNumber);
  8. Testen Sie die Anweisung SELECT. Sie stellen fest, dass Sie die Methode geschrieben haben, ohne zuvor die Anweisung SELECT getestet zu haben. pureQuery ermöglicht das Testen im Java-Editor. Gehen Sie wie folgt vor, um, die Anweisung zu testen: Klicken Sie, um den Cursor in der Anweisung zu positionieren. Klicken Sie anschließend mit der rechten Maustaste auf die Anweisung und wählen Sie Datenzugriffsentwicklung > SQL ausführen aus.

    Da die Anweisung in der Klausel WHERE Parametermarken verwendet, müssen Sie pureQuery die zu verwendenden Werte mitteilen.

    Das Fenster Hostvariablenwerte angeben wird geöffnet.
  9. Geben Sie die folgenden Werte in das Fenster Hostvariablenwerte angeben ein:
    • 2007
    • 1
    • 7
    • 10110
    Die Sicht SQL-Ergebnisse wird geöffnet.
  10. Wählen Sie in der Sicht SQL-Ergebnisse die erste Zeile und anschließend die Registerkarte Ergebnis1 aus, um das Ergebnis anzuzeigen.
    Ergebnis der Anweisung SELECT

    Aus der Sicht Ergebnisse geht hervor, dass die Anweisung SELECT fehlerfrei ausgeführt wird.

Wenn Sie die Schnittstelle speichern, generiert pureQuery die Datei InventoryLevels_DataImpl.java automatisch neu, damit diese die neue Methode implementiert.
< Zurück | Weiter >

Feedback