DB4O 社区版 8.1.9 发布,Java Lambda 查询数据库
Db4o 是一个面向对象数据库,能对复杂的对象结构进行持久化,支持单用户模式,多用户模式。
这版本把 Java7-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 采用很炫的面向对象技术。
iBoxDB 面向高性能与安全数据隔离。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MyExcel 3.0.0.RC 发布:重构&性能提升
MyExcel,是一个集导入、导出、加密Excel等多项功能的Java工具包。 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体、下拉列表等,可自动划分Excel生成zip压缩包。 用近2个月时间重构,MyExcel 3.0.0.RC版本于今日正式发布使用,本次修改点概览如下: 修复DefaultExcelBuilder、DefaultStreamExcelBuilder自定义样式无效问题; 修复读取含小数点整数错误问题; 修复DefaultStreamExcelBuilder海量数据导出多sheet页,无法全部固定标题行问题; 修复DefaultStreamExcelBuilder续写时重设工作簿类型错误; 基于DefaultStreamExcelBuilder重写DefaultExcelBuilder,在保证API简单便捷的情况下,根源上解决性能问题; 新增DefaultExcelBuilder、Default...
- 下一篇
SOP 2.2.0 发布,开放平台解决方案项目
SOP 2.2.0 发布,本次发布内容如下: 支持eureka注册中心,见eureka分支 签名内容支持urlencode(设置sign.urlencode=true) 可扩展其它注册中心 关于 SOP SOP(Simple Open Platform) 一个开放平台解决方案项目,基于Spring Cloud实现,目标是能够让用户快速得搭建起自己的开放平台。 SOP提供了两种接口调用方式,分别是:支付宝开放平台的调用方式和淘宝开放平台的调用方式。 通过简单的配置后,你的项目就具备了和支付宝开放平台的一样的接口提供能力。 SOP封装了开放平台大部分功能包括:签名验证、统一异常处理、统一返回内容 、业务参数验证(JSR-303)、秘钥管理等,未来还会实现更多功能。 项目特点 接入方式简单,与老项目不冲突,老项目注册到注册中心,然后在方法上加上注解即可。 架构松耦合,业务代码实现在各自微服务上,SOP不参与业务实现,这也是Spring Cloud微服务体系带来的好处。 扩展简单,开放平台对应的功能各自独立,可以自定义实现自己的需求,如:更改参数,更改签名规则等。 谁可以使用这个项目 有现成的...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G
- Hadoop3单机部署,实现最简伪集群
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7安装Docker,走上虚拟化容器引擎之路