歡迎您光臨本站 註冊首頁

DB4O 社區版 8.1.3 發布,面向對象資料庫

←手機掃碼閱讀     admin @ 2019-09-17 , reply:0

Db4o是一個面向對象資料庫,能對複雜的對象結構進行持久化,如樹結構等,
並使用本地語言進行數據查詢,
支持單用戶模式,多用戶模式。社區版本升級到全面支持Linux.

使用例子

初始化

import com.db4o.cs.Db4oClientServer;
public class Node {
  public String name;
  public Node Left;
  public Node Right;
}
String dbname = "node.db";
var cfg = Db4oClientServer.newServerConfiguration();
cfg.common().objectClass(Node.class).cascadeOnActivate(true);
cfg.common().objectClass(Node.class).cascadeOnUpdate(true);
cfg.common().objectClass(Node.class).cascadeOnDelete(true);
cfg.common().objectClass(Node.class).callConstructor(true);
//Port=0, Local Server.
try (var server = Db4oClientServer.openServer(cfg, dbname, 0)) {
  ...
}

 

插入對象

try (var oc = server.openClient()) {
  Node root = new Node();
  root.name = "Root";

  root.Left = new Node();
  root.Left.name = "Left";

  root.Right = new Node();
  root.Right.name = "Right";

  root.Right.Right = new Node();
  root.Right.Right.name = "Right.Right";
  oc.store(root);
  oc.commit();
}

 

使用對象模板查詢非null,非0數據

try (var oc = server.openClient()) {
  Node qo = new Node();
  qo.name = "Root";
  var ns = oc.queryByExample(qo);
  var root = ns.next();
  System.out.println(root.Right.Right.name);
}

 

Java風格查詢

import com.db4o.query.Predicate;
try (var oc = server.openClient()) {
  Listns = oc.query(new Predicate() {
    @Override
    public boolean match(Node n) {
      return n.name.equals("Root");
    }
  });
  Node root = ns.get(0);
  System.out.println(root.Right.Right.name);
}

 

底層查詢,可能適合開發自定義查詢器

try (var oc = server.openClient()) {
  var q = oc.query();
  q.constrain(Node.class);
  q.descend("name").constrain("Root").equal();
  var ns = q.execute(Node.class);
}


這個版本全面升級對象管理器到Linux下直接下載使用

有高清大圖,
/Images/af641a674082b1c52307d7c285e28aa2.png


 

/Images/111bd291360286e275ce583e8203df27.png

/Images/5e22d81372e814208e0a7d8e4c5b5679.png

 

Db4o社區版本代碼下載.
 

產品對比:

Db4o 適合操作面向對象結構,提供圖形界面查詢數據。
iBoxDB 適合高性能,高併發,安全數據空間的應用需求。

 


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/109924/db4o-8-1-3-released
DB4O 社區版 8.1.3 發布,面向對象資料庫已經有223次圍觀

http://coctec.com/news/all/show-post-214827.html