KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > db4o > f1 > chapter1 > QueryExample


1 package com.db4o.f1.chapter1;
2
3 import com.db4o.Db4o;
4 import com.db4o.ObjectContainer;
5 import com.db4o.ObjectSet;
6 import com.db4o.f1.Util;
7 import com.db4o.query.Constraint;
8 import com.db4o.query.Query;
9
10
11 public class QueryExample extends Util {
12     public static void main(String JavaDoc[] args) {
13         ObjectContainer db=Db4o.openFile(Util.YAPFILENAME);
14         try {
15             storeFirstPilot(db);
16             storeSecondPilot(db);
17             retrieveAllPilots(db);
18             retrievePilotByName(db);
19             retrievePilotByExactPoints(db);
20             retrieveByNegation(db);
21             retrieveByConjunction(db);
22             retrieveByDisjunction(db);
23             retrieveByComparison(db);
24             retrieveByDefaultFieldValue(db);
25             retrieveSorted(db);
26             clearDatabase(db);
27         }
28         finally {
29             db.close();
30         }
31     }
32
33     public static void storeFirstPilot(ObjectContainer db) {
34         Pilot pilot1=new Pilot("Michael Schumacher",100);
35         db.set(pilot1);
36         System.out.println("Stored "+pilot1);
37     }
38
39     public static void storeSecondPilot(ObjectContainer db) {
40         Pilot pilot2=new Pilot("Rubens Barrichello",99);
41         db.set(pilot2);
42         System.out.println("Stored "+pilot2);
43     }
44
45     public static void retrieveAllPilots(ObjectContainer db) {
46         Query query=db.query();
47         query.constrain(Pilot.class);
48         ObjectSet result=query.execute();
49         listResult(result);
50     }
51
52     public static void retrievePilotByName(ObjectContainer db) {
53         Query query=db.query();
54         query.constrain(Pilot.class);
55         query.descend("name").constrain("Michael Schumacher");
56         ObjectSet result=query.execute();
57         listResult(result);
58     }
59     
60     public static void retrievePilotByExactPoints(
61             ObjectContainer db) {
62         Query query=db.query();
63         query.constrain(Pilot.class);
64         query.descend("points").constrain(new Integer JavaDoc(100));
65         ObjectSet result=query.execute();
66         listResult(result);
67     }
68
69     public static void retrieveByNegation(ObjectContainer db) {
70         Query query=db.query();
71         query.constrain(Pilot.class);
72         query.descend("name").constrain("Michael Schumacher").not();
73         ObjectSet result=query.execute();
74         listResult(result);
75     }
76
77     public static void retrieveByConjunction(ObjectContainer db) {
78         Query query=db.query();
79         query.constrain(Pilot.class);
80         Constraint constr=query.descend("name")
81                 .constrain("Michael Schumacher");
82         query.descend("points")
83                 .constrain(new Integer JavaDoc(99)).and(constr);
84         ObjectSet result=query.execute();
85         listResult(result);
86     }
87
88     public static void retrieveByDisjunction(ObjectContainer db) {
89         Query query=db.query();
90         query.constrain(Pilot.class);
91         Constraint constr=query.descend("name")
92                 .constrain("Michael Schumacher");
93         query.descend("points")
94                 .constrain(new Integer JavaDoc(99)).or(constr);
95         ObjectSet result=query.execute();
96         listResult(result);
97     }
98
99     public static void retrieveByComparison(ObjectContainer db) {
100         Query query=db.query();
101         query.constrain(Pilot.class);
102         query.descend("points")
103                 .constrain(new Integer JavaDoc(99)).greater();
104         ObjectSet result=query.execute();
105         listResult(result);
106     }
107
108     public static void retrieveByDefaultFieldValue(
109                     ObjectContainer db) {
110         Pilot somebody=new Pilot("Somebody else",0);
111         db.set(somebody);
112         Query query=db.query();
113         query.constrain(Pilot.class);
114         query.descend("points").constrain(new Integer JavaDoc(0));
115         ObjectSet result=query.execute();
116         listResult(result);
117         db.delete(somebody);
118     }
119     
120     public static void retrieveSorted(ObjectContainer db) {
121         Query query=db.query();
122         query.constrain(Pilot.class);
123         query.descend("name").orderAscending();
124         ObjectSet result=query.execute();
125         listResult(result);
126         query.descend("name").orderDescending();
127         result=query.execute();
128         listResult(result);
129     }
130
131     public static void clearDatabase(ObjectContainer db) {
132         ObjectSet result=db.get(Pilot.class);
133         while(result.hasNext()) {
134             db.delete(result.next());
135         }
136     }
137 }
138
Popular Tags