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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C# .net core 使用自定义的WebProxy

    C# .net core 使用自定义的WebProxy为什么80%的码农都做不了架构师?>>>…

    2022年6月21日
  • java socket通讯乱码问题的解决

    java socket通讯乱码问题的解决使用socket通讯经常会遇到客户端、服务器端字符编码不一致的情况,如果传输的信息包含中文,这时我们可能就需要对传输的信息的按照指定的字符集进行解码或者编码首先我们了解jdkapi中的几个基本的概念String类StringpublicString(byte[] bytes,String charsetName)th

    2022年7月8日
  • 欧拉函数及其证明_欧拉函数证明题

    欧拉函数及其证明_欧拉函数证明题请思考以下问题:  任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,以φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。φ(n)的计算方法并不复杂,但是为了得到最后那个公式,需要一步步讨论。第一种情况如果n=1,则φ(1

    2022年8月22日
  • Linux之telnet命令[通俗易懂]

    Linux之telnet命令[通俗易懂]telnet命令通常用来远程登录,默认端口是23。telnet程序是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主

    2022年7月3日
  • centos7配置本地yum源_centos 本地yum源配置

    centos7配置本地yum源_centos 本地yum源配置centos7配置本地yum源环境限制外网怎么办?离线环境怎么解决依赖?yum源配起来,可以解决大部分包的安装^_^准备工作虚拟机版本——VMwareWorkstationPro12.x系统版本——CentOS-7-x86_64-DVD-1511.iso系统安装完毕,正常登录一、挂载镜像1.虚拟机方式1)操作之

    2022年8月12日
  • 2020年公认最快的dns(国内好用的dns)

    简介:2020国内速度最快的dns推荐原版周公解梦分析梦见儿子死了的吉凶境遇安全,推荐长辈惠泽,推荐承受父祖之余德,前辈之提拔,而得大成功及发展,原命若喜水木者更佳。若凶数者:成又转败,陷于离乱变动,至晚年终归孤独失败,又早年有落水灾遇,生涯九死一生之命格。国内又须戒色变及刀杀之危。梦到蛇和蛇一头,速度暗示你可能会受到别人的欺骗,或受到别人欺骗。最快梦见蛇的心理学解梦从做梦内容的本义来说:推荐动物…

    2022年4月13日

发表回复

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

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