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


相关推荐

  • W3C规范_web标准和w3c标准

    W3C规范_web标准和w3c标准万维网联盟(外语缩写:W3C)标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3CDOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也…

    2022年9月17日
    3
  • gbk编码表_河北十一选五五码基本分布图

    gbk编码表_河北十一选五五码基本分布图1.GBK码位分布图2.GBK码位说明GBK亦採用双字节表示,整体编码范围为8140-FEFE,首字节在81-FE之间,尾字节在40-FE之间,剔除xx7F一条线。总计23940

    2022年8月1日
    4
  • 电机的力矩计算

    电机的力矩计算1.转动惯量的公式1.1转矩如何计算转矩等于转动惯量乘以角加速度,然后我们要注意一下单位,转矩的单位是NM,转动惯量的单位是kg*m2,角加速度单位是rad/s2。M=I*BM是转矩,I是转动惯量,B是角加速度。1.2关于单位转矩=转动惯量*角加速度,转矩单位是N.m,转动惯量单位是Kg.m^2,那么角加速度单位是什么,如果是rad/s^2,怎么推算的?rad不是物理量单位,是角度单位,以rad做角度单位时,rad无需写明,除非强调时。即角速度单位就是s^-1,角加速度单

    2022年5月14日
    71
  • IntelliJ IDEA 如何创建一个普通的 Java 项目,及创建 Java 文件并运行

    首先,确保IDEA软件正确安装完成,Java开发工具包JDK安装完成。IntelliJIDEA下载地址:https://www.jetbrains.com/idea/download/#section=windowsJDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlIDEA…

    2022年4月13日
    61
  • dll文件注册器_怎么注册dll文件win10

    dll文件注册器_怎么注册dll文件win10点击  开始\所有程序\MicrosoftVisualStudio2008\VisualStudioTools 以管理员身份运行VisualStudio2008CommandPrompt。//注册Dll在VisualStudio2008CommandPrompt键入E:\>regasmmydll.dll.eg:E:\>regasmE:\Assig

    2022年8月22日
    5
  • 毕业四年

    好久不见,一年一度的“毕业N年”系列,2019,毕业四年了。工作去年9月份从前公司离职了,加入阿里,很快,再两个月就入职一年了。几条工作上的感受和建议,希望对你有所帮助。1、谨慎面试,大厂永远在招人以阿里为例,你的所有面试记录都是留存的,包括每个面试官的评价以及结果,如果准备不充分的情况下频繁面试,留下的记录会影响之后面试官对你的印象。如果对某个岗位感兴趣,最好联系对应岗位部门的同学,简历…

    2022年3月11日
    45

发表回复

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

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