--選自《iBATIS SQL Maps 開發指南》
Java Bean簡易教程
SqlMap 架構需要對 Java Bean 有堅實的理解。幸運的是,和 SqlMap 有關係的 Java Bean API 的並不是很多。因此,如果您以前沒有接觸過 Java Bean,下面是一個簡單的介紹。
Java Bean 是什麼呢?Java Bean 是一種特殊的 Java類,它嚴格遵循 JavaBean 命名規範,定義存取類狀態資訊方法的命名規則。
Java Bean 的屬性由它的方法定義(而不是由欄位定義)。以“set”為名稱開始的方法是可寫的屬性,而以“get”為名稱開始的方法是可讀的屬性。
對於“boolean”類型的欄位,可讀的方法名稱也可以用“is”開始。“Set”方法不應擁有傳回型別(即必須為 void),並且只能有一個參數,參數的資料類型必須和屬性的資料類型一致。“Get”方法應返回合適的類型並且不允許有參數。
雖然通常並不強制,但“Set”方法參數的資料類型和“Get”方法的傳回型別應一致。Java Bean 還應實現Serializable介面。
Java Bean 還支援其他特性(如事件等)。但這些特性 SQL Map 和 Web 應用程式中並不重要。
下面是 Java Bean 的一個例子:
public class Product implements Serializable ...{
private String id;
private String description;
public String getId() ...{
return id;
}
public void setId(String id) ...{
this.id = id;
}
public String getDescription() ...{
return description;
}
public void setDescription(String description) ...{
this.description = description;
}
注意!對於特定的屬性,不要混淆“Get”方法和“Set”方法的資料類型。例如,對
於數實值型別的“account”屬性,確保 getter方法和 setter方法使用同一數實值型別,如下面的 例子:
public void setAccount (int acct) {….}
public int getAccount () {….}
注意到兩個方法都使用了“int”類型。如果從“get”方法返回“long”類型,會出現
問題。
注意!類似的,您必須只有一個“get”方法和“set”方法。Be judicious with polymorphic
methods. You’re better off naming them more specifically anyway.
注意!對於“boolean”類型的屬性,“get”方法還可以有別的文法,可以是“isXxxx()”
格式。確保您只有一個“is”方法或“get”方法,不能同時有兩種寫法。
恭喜,您完成了這個 Java Bean 教程。