opening the database
// accessdb4o
objectcontainer db=db4o.openfile(util.db4ofilename);
try
finally
storing objects
// storefirstpilot
pilot pilot1=new pilot("michael schumacher",100);
db.set(pilot1);
system.out.println("stored "+pilot1);
retrieving objects
public static void listresult(objectset result) }
query by example (qbe)
// retrieveallpilotqbe
pilot proto=new pilot(null,0);
objectset result=db.get(proto);
listresult(result);
// retrieveallpilots
objectset result=db.get(pilot.class);
listresult(result);
list pilots = db.query(pilot.class);
native queries (nq)
list pilots = db.query(new predicate()
});
list result = db.query(new predicate()
});
soda query api (soda)
// retrieveallpilots
query query=db.query();
query.constrain(pilot.class);
objectset result=query.execute();
listresult(result);
updating objects
// updatepilot
objectset result=db.get(new pilot("michael schumacher",0));
pilot found=(pilot)result.next();
found.addpoints(11);
db.set(found);
system.out.println("added 11 points for "+found);
retrieveallpilots(db);
deleting objects
// deletefirstpilotbyname
objectset result=db.get(new pilot("michael schumacher",0));
pilot found=(pilot)result.next();
db.delete(found);
system.out.println("deleted "+found);
retrieveallpilots(db);
安卓 使用DB4O
前一段做個很簡單的安卓採集資訊的客戶端,那邊處理資訊是要用c 資料呢要求能跨平台,相互傳遞。開始說xml也行,不過 後來 選擇了db4o 資料庫,很小巧,乙個jar就搞定了。db4o是物件資料庫,物件存貯很方便,資料生成乙個db4o檔案,只要都使用db4o 統一來讀取,各種語言都沒問題 當然db4o...
db4o中的排序問題
在使用db4o做乙個真實的專案的時候,遇到乙個問題 問題描述 在cms系統中,經常要按照發表時間的逆序來排序顯示條目。在平面資料庫中,這非常容易做到,只要寫 order by xx就可以了。可是,db4o中,似乎沒有類似的支援。問題分析 可能是因為db4o把你所有的字段都作為乙個類,它也不知道你要排...
db4o, 看上去很美
由於厭煩了手寫sql,在幾個小專案中嘗試著使用了db4o.dal層寫起來是爽了,但是,還是有很多其它東西會絆你的腳。沒有主鍵的概念 因為物件的記憶體位址,或者引用就能標誌乙個物件了 因而外界想指向乙個具體的物件就比較困難 比如本頁的url裡的1079505 啟用 儲存層次的問題.獲取乙個物件,它的字...