KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4odoc > f1 > queries > PersistentExample


1 package com.db4odoc.f1.queries;
2
3
4 import java.io.File JavaDoc;
5
6 import com.db4o.Db4o;
7 import com.db4o.ObjectContainer;
8 import com.db4o.ObjectSet;
9
10 public class PersistentExample {
11     public final static String JavaDoc YAPFILENAME="formula1.yap";
12     
13     public static void main(String JavaDoc[] args) {
14         new File JavaDoc(YAPFILENAME).delete();
15         accessDb4o();
16         new File JavaDoc(YAPFILENAME).delete();
17         ObjectContainer db=Db4o.openFile(YAPFILENAME);
18         try {
19             storeFirstPilot(db);
20             storeSecondPilot(db);
21             retrieveAllPilots(db);
22             retrievePilotByName(db);
23             retrievePilotByExactPoints(db);
24             updatePilot(db);
25             deleteFirstPilotByName(db);
26             deleteSecondPilotByName(db);
27         }
28         finally {
29             db.close();
30         }
31     }
32     // end main
33

34     public static void accessDb4o() {
35         ObjectContainer db=Db4o.openFile(YAPFILENAME);
36         try {
37             // do something with db4o
38
}
39         finally {
40             db.close();
41         }
42     }
43     // end accessDb4o
44

45     public static void storeFirstPilot(ObjectContainer db) {
46         Pilot pilot1=new Pilot("Michael Schumacher",100);
47         db.set(pilot1);
48         System.out.println("Stored "+pilot1);
49     }
50     // end storeFirstPilot
51

52     public static void storeSecondPilot(ObjectContainer db) {
53         Pilot pilot2=new Pilot("Rubens Barrichello",99);
54         db.set(pilot2);
55         System.out.println("Stored "+pilot2);
56     }
57     // end storeSecondPilot
58

59     public static void retrieveAllPilotQBE(ObjectContainer db) {
60         Pilot proto=new Pilot(null,0);
61         ObjectSet result=db.get(proto);
62         listResult(result);
63     }
64     // end retrieveAllPilotQBE
65

66     public static void retrieveAllPilots(ObjectContainer db) {
67         ObjectSet result=db.get(Pilot.class);
68         listResult(result);
69     }
70     // end retrieveAllPilots
71

72     public static void retrievePilotByName(ObjectContainer db) {
73         Pilot proto=new Pilot("Michael Schumacher",0);
74         ObjectSet result=db.get(proto);
75         listResult(result);
76     }
77     // end retrievePilotByName
78

79     public static void retrievePilotByExactPoints(ObjectContainer db) {
80         Pilot proto=new Pilot(null,100);
81         ObjectSet result=db.get(proto);
82         listResult(result);
83     }
84     // end retrievePilotByExactPoints
85

86     public static void updatePilot(ObjectContainer db) {
87         ObjectSet result=db.get(new Pilot("Michael Schumacher",0));
88         Pilot found=(Pilot)result.next();
89         found.addPoints(11);
90         db.set(found);
91         System.out.println("Added 11 points for "+found);
92         retrieveAllPilots(db);
93     }
94     // end updatePilot
95

96     public static void deleteFirstPilotByName(ObjectContainer db) {
97         ObjectSet result=db.get(new Pilot("Michael Schumacher",0));
98         Pilot found=(Pilot)result.next();
99         db.delete(found);
100         System.out.println("Deleted "+found);
101         retrieveAllPilots(db);
102     }
103     // end deleteFirstPilotByName
104

105     public static void deleteSecondPilotByName(ObjectContainer db) {
106         ObjectSet result=db.get(new Pilot("Rubens Barrichello",0));
107         Pilot found=(Pilot)result.next();
108         db.delete(found);
109         System.out.println("Deleted "+found);
110         retrieveAllPilots(db);
111     }
112     // end deleteSecondPilotByName
113

114     public static void listResult(ObjectSet result) {
115         System.out.println(result.size());
116         while(result.hasNext()) {
117             System.out.println(result.next());
118         }
119     }
120     // end listResult
121
}
122
Popular Tags