現有一個實體類 Card(證件)
其中有屬性:id、證件名稱、姓名、卡號、備註,以及 證件的照片,其中證件的照片可能有多張(1到4張),故須要用到一對多的關係。
證件類:Card
照片類:Photo數據庫
GreenDao語法:spa
@ToMany(referencedJoinProperty = "parentId")
//實體類:證件 Card @Entity public class Card { //ID主鍵自增 @Id(autoincrement = true) private Long id; @NotNull private String card_name;//證件名稱 @NotNull private String username;//證件人姓名 @NotNull private String card_number;//卡號 private String remark;//備註 //cardId爲Photo類中定義的一個屬性 @ToMany(referencedJoinProperty = "cardId") private List<Photo> photoList; }
//實體類Photo @Entity public class Photo { //ID主鍵自增 @Id(autoincrement = true) private Long id; @NotNull private String photo_path;//證件照片路徑 @NotNull private Long cardId;//設計此字段,而後在Card中引用它,以便於Card來識別它 }
private void AddRecord() { String cardname = et_card_name.getText().toString(); String username = et_user_name.getText().toString(); String cardnumber = et_card_number.getText().toString(); String remark = et_remark.getText().toString(); Card card = new Card(cardname, username, cardnumber, remark); cardDao.insert(card); //count_photo爲圖片的總數 //photoPathList爲圖片的絕對路徑的List集合 for (int i = 0; i < count_photo; i++) { Photo photo = new Photo(); photo.setCardId(card.getId()); photo.setPhoto_path(photoPathList.get(i)); photoDao.insert(photo); } Toasty.success(context,"保存完畢").show(); }
Photo
對應了相同的Card
一、Card表:設計
二、Photo表:code