1 package com.db4odoc.f1.queries; 2 3 4 import java.io.File ; 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 YAPFILENAME="formula1.yap"; 12 13 public static void main(String [] args) { 14 new File (YAPFILENAME).delete(); 15 accessDb4o(); 16 new File (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 34 public static void accessDb4o() { 35 ObjectContainer db=Db4o.openFile(YAPFILENAME); 36 try { 37 } 39 finally { 40 db.close(); 41 } 42 } 43 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 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 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 66 public static void retrieveAllPilots(ObjectContainer db) { 67 ObjectSet result=db.get(Pilot.class); 68 listResult(result); 69 } 70 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 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 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 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 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 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 } 122 | Popular Tags |