Die InventoryLevels-Bean ist ein wiederverwendbares Java-Objekt, das von mehreren Anwendungen für den Zugriff auf die Tabelle
INVENTORY_LEVELS verwendet werden kann.
Diese Lerneinheit verdeutlicht die Abschnitte der Bean, die pureQuery-spezifische Elemente enthalten.
Gehen Sie wie folgt vor, um die InventoryLevels-Bean anzuzeigen:
- Rufen Sie die Registerkarte InventoryLevels.java im mittleren Teilfenster auf.
- Sehen Sie sich die Abschnitte der Bean an. ie Bean weist die folgenden Abschnitte auf:
- Java-Standardabschnitt
- Der erste Abschnitt ist der Standardabschnitt für eine Java-Klasse.
Er deklariert das Java-Paket,
zu dem die Klasse gehört, enthält einen Kommentar, der die Klasse beschreibt, importiert Klassen aus anderen Paketen und deklariert diesen Start der Klasse. Beachten Sie jedoch die folgenden drei Importanweisungen:
import com.ibm.pdq.annotation.Table;
import com.ibm.pdq.annotation.Id;
import com.ibm.pdq.annotation.Column;
@Table, @Id und @Column sind Annotationen, die pureQuery in dieser Bean verwendet. Die Art der Verwendung wird in einem späteren Abschnitt der Bean festgelegt.
- Annotation @Table
- pureQuery verwendet die Annotation @Table zur Angabe der Tabelle, die die Bean darstellt. pureQuery verwendet diese Annotation nur in generierten
Beans. Wenn Sie Ihre eigenen Beans schreiben, ist @Table nicht erforderlich.
@Table(name = "INVENTORY_LEVELS", schema = "GOSALES")
public class InventoryLevels {
- Deklaration der Felder
- Alle Felder werden mit einem geschütztem Bereich deklariert, den Sie im Assistenten
pureQuery-Code aus Tabelle generieren angegeben haben.
// Class variables
protected short inventoryYear;
protected short inventoryMonth;
protected int warehouseBranchCode;
protected int productNumber;
protected int openingInventory;
protected int quantityShipped;
protected int additions;
protected BigDecimal unitCost;
protected int closingInventory;
protected BigDecimal averageUnitCost;
- Deklaration der Konstruktoren
- Nach der Deklaration der Felder der Bean deklariert der Code zwei Konstruktoren. Der erste Konstruktor erstellt leerer Beans. Der zweite
Konstruktor erstellt Beans mit Werten für die Felder.
/**
* Constructor for InventoryLevels.
*/
public InventoryLevels() {
super();
}
/**
* Constructor for InventoryLevels that sets all fields.
*/
public InventoryLevels(short inventoryYear, short inventoryMonth,
int warehouseBranchCode, int productNumber, int openingInventory,
int quantityShipped, int additions, BigDecimal unitCost,
int closingInventory, BigDecimal averageUnitCost) {
super();
this.inventoryYear = inventoryYear;
this.inventoryMonth = inventoryMonth;
this.warehouseBranchCode = warehouseBranchCode;
this.productNumber = productNumber;
this.openingInventory = openingInventory;
this.quantityShipped = quantityShipped;
this.additions = additions;
this.unitCost = unitCost;
this.closingInventory = closingInventory;
this.averageUnitCost = averageUnitCost;
}
- Methoden get() und set() für jedes Feld
- pureQuery verwendet eine Annotation @Id zur Angabe aller Felder, die in der Tabelle einer Primärschlüsselspalte zugeordnet sind. pureQuery verwendet diese
Annotation jedoch nur in generierten Beans. Wenn Sie Ihre eigenen Beans schreiben, ist @Id nicht erforderlich.
Da bei den Feldnamen die Kamelschreibweise und keine Unterstriche verwendet werden, verwendet
pureQuery eine Annotation @Column für
get()-Methoden, um die Namen der einzelnen Tabellenspalten den entsprechenden Feldern zuzuordnen. Informationen zur Verwendung der Annotation @Column finden Sie in
Annotationenin Beans. In diesem Abschnitt werden auch weitere verwendbare Annotationen beschrieben. Informationen enthält auch
@Column in pureQuery Javadoc.
/**
* Get inventoryYear.
*
* @return return inventoryYear
*/
@Id
@Column(name = "INVENTORY_YEAR")
public short getInventoryYear() {
return inventoryYear;
}
/**
* Set inventoryYear.
*
* @param short inventoryYear
*/
@Id
public void setInventoryYear(short inventoryYear) {
this.inventoryYear = inventoryYear;
}