DB4O 社区版 8.1.9 发布,Java Lambda 查询数据库

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Db4o 是一个面向对象数据库,能对复杂的对象结构进行持久化,支持单用户模式,多用户模式。 这版本把 Java7-Java11的一些有用新指令补上,主要是为了编译 Java11 的 Lambda 语句, Lambda 在底层使用了新指令,这...

Db4o 是一个面向对象数据库,能对复杂的对象结构进行持久化,支持单用户模式,多用户模式。

这版本把 Java 7-Java11的一些有用新指令补上,主要是为了编译 Java11 的 Lambda 语句,
Lambda 在底层使用了新指令,这个版本的 Db4o 还是基于 Java7,以补丁方式编译 Lambda。在OpenJDK11 上测试通过。

Java Lambda 已经很多年了,支持Lambda查询数据库的类库还很少,
这里直接把 Lambda 放入到 Db4o 中,简单查询条件直接编译为数据库查询语句。

使用例子

初始化

public static class Detail {
    @Indexed
    public long type;
    public String memo;
    public Record record;
}

public static class Record {
    @Indexed
    public String name;
    public String noName;
    @Indexed
    public double indexField;
    public double noIndexField;
    public Detail detail;
}


String dbname = "index.j.db";
var ecfg = Db4oEmbedded.newConfiguration();
var memory = new MemoryStorage();
ecfg.file().storage(memory);
ecfg.common().add(new TransparentActivationSupport());
ecfg.common().add(new TransparentPersistenceSupport());
ecfg.file().generateUUIDs(ConfigScope.GLOBALLY);

try (var oc = Db4oEmbedded.openFile(ecfg, dbname)) {
}

 

插入对象

try (var see = oc.ext().openSession()) {
    for (int i = 0; i < 1000; i++) {
        for (int j = 0; j < 50; j++) {
            var r = new Record();
            r.name = "Name-" + i;
            r.noName = r.name;
            r.indexField = (double) i;
            r.noIndexField = i;
            r.detail = new Detail();
            r.detail.record = r;
            r.detail.type = j;
            r.detail.memo = r.name + " on meno";
            see.store(r);
        }
    }
    see.commit();
}

 

Java Lambda 查询数据,一句实现全部表达,升级的代码就是为了运行这句在数据库上

var rs = see.query((Record r) -> r.indexField == value);

如果希望像普通 Lambda 一样运行,把字段名放在右边

Db4o社区版本代码下载

产品对比
Db4o 采用很炫的面向对象技术。
iBoxDB 面向高性能与安全数据隔离。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

图解网站分析(修订版)

图解网站分析(修订版)

[日] 小川卓 / 沈麟芸 / 人民邮电出版社 / 2014-10 / 69.00元

本书以图配文,结合实例详细讲解了如何利用从网站上获取的各种数据了解网站的运营状况,如何从数据中攫取最有用的信息,如何优化站点,创造更大的网站价值。本书适合各类网站运营人员阅读。 第1 部分介绍了进行网站分析必备的基础知识。第2 部分详细讲解了如何明确网站现状,发现并改善网站的问题。第3 部分是关于流量获取和网站内渠道优化的问题。第4 部分介绍了一些更加先进的网站分析方法,其中详细讲解了如何分......一起来看看 《图解网站分析(修订版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具