db4o java_DB4O 社区版 8.1.3 发布,面向对象数据库[通俗易懂]

db4o java_DB4O 社区版 8.1.3 发布,面向对象数据库[通俗易懂]Db4o是一个面向对象数据库,能对复杂的对象结构进行持久化,如树结构等,并使用本地语言进行数据查询,支持单用户模式,多用户模式。社区版本升级到全面支持Linux.使用例子初始化importcom.db4o.cs.Db4oClientServer;publicclassNode{publicStringname;publicNodeLeft;publicNodeRight;}St…

大家好,又见面了,我是你们的朋友全栈君。

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()) {

List ns = 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下。直接下载使用。

af641a674082b1c52307d7c285e28aa2.png

111bd291360286e275ce583e8203df27.png

5e22d81372e814208e0a7d8e4c5b5679.png

产品对比:

Db4o 适合操作面向对象结构,提供图形界面查询数据。

iBoxDB 适合高性能,高并发,安全数据空间的应用需求。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162611.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [Elasticsearch] 部分匹配 (三) – 查询期间的即时搜索[通俗易懂]

    [Elasticsearch] 部分匹配 (三) – 查询期间的即时搜索

    2022年1月30日
    44
  • 蓝桥杯 BASIC 29 高精度加法(大数)[通俗易懂]

    蓝桥杯 BASIC 29 高精度加法(大数)

    2022年1月29日
    47
  • ubuntu上安装gcc

    ubuntu上安装gcc首先我是直接根据别人博客来的:sudoaptupdatesudoaptinstallbuild-essential主要是说build-essential中包含了GNU编辑器集合

    2022年7月3日
    31
  • oracle 错误01017,ORA-01017:用户名密码出错 故障实例

    oracle 错误01017,ORA-01017:用户名密码出错 故障实例sysdba登录ORA-01017:用户名密码出错故障排查实例早上接到一个朋友的急call,说是数据库的sys登录不了系统叻。普通用户连接可以登录,只要是assysdba就提示ORA-01017:用户名密码出错。很显然这是一个典型的sysdba登录的问题。首先要他查看了sqlnet文件。SQLNET.AUTHENTICATION_SERVICES=(NONE)启动密码文件验证了,接着查看…

    2022年5月31日
    45
  • 激活windows 10

    激活windows 10企业版1、鼠标右键点击window键,点击”windowpowershell(管理员)”,进入管理员命令行。2、输入以下命令,进行删除密钥slmgr.vbs/upk此时弹出窗口显示“已成功卸载了产品密钥”。3、接着输入以下命令:密钥可以自己网上找对应的版本,可以更换slmgr/ipkNPPR9-FWDCX-D2C8J-H872K-2YT43弹出窗口提示:“成功的安装了产品密钥”。4、继续输入以下命令:slmgr/skmszh.us.to#这个名

    2022年5月29日
    47
  • NSGA2算法详解「建议收藏」

    NSGA2算法详解「建议收藏」目录预备知识多目标优化问题的解NSGA-II简介NSGA-II详细介绍参数设置问题约束处理方法1.预备知识多目标优化的相关知识:https://blog.csdn.net/haha0332/article/details/88634378支配:假设小明9岁,50斤,小红8岁,45斤,小明无论是岁数还是体重都比小红大,所以小明支配小红。互不支配:假设小明7岁,50斤,小红8岁,45斤,小明岁数比小红小,但体重比小红大,所以小明和小红互不支配。帕累托集:在这个集合中,任意两个解互不

    2022年5月12日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号