特点

直接存储java对象,抛弃对象映射的繁琐

可以使用简单的查询语句

致命缺点

与java语言绑定

demo

gitee地址

https://gitee.com/ichiva/db4o-demo.git

主要依赖

org.fudaa.com.db4o

db4o-java5

5.5.1

编写测试用例

官方实体类

@Data

public class Car {

private Integer id;

private String name;

}

@Data

public class People {

private Integer id;

private String name;

private String address;

private List cars;

}

连接数据库

private ObjectContainer container;

@Before

public void before(){

this.container = Db4o.openFile("auto.yap");

System.out.println("before:");

}

写入数据

@Test

public void add(){

Car car = new Car();

car.setName("byd");

car.setId((int) (Math.random() * Integer.MAX_VALUE));

container.set(car);

container.commit();

}

获取并修改数据

@Test

public void update(){

ObjectSet query = container.query(Car.class);

query.forEach(e ->{

Car car = (Car)e;

car.setName("bmw");

container.set(car);

});

}

遍历

@Test

public void showCars() {

ObjectSet query = container.query(Car.class);

query.forEach(System.out::println);

}

别忘了关闭数据库

@After

public void after(){

if(null != container) container.close();

}

总结,db4o整体可以看作jdk序列化的升级版 PS.这货有稀奇古怪的bug,请在老司机的监视下上生产

gitee地址

https://gitee.com/ichiva/db4o-demo.git

java db4o,DB4O--java对象数据库相关推荐

  1. java快速创建dto_根据数据库表对象信息快速建立Dto类详解

    整体思路 1.进入数据库,查看表信息,复制表信息中的数据库字段部分 2.利用java代码读取剪贴板内容 3.切割替换字符串,把字段注释转成java文档注释,把下划线改成驼峰命名规则 直接附代码,可以直 ...

  2. 开源面向对象数据库 db4o 之旅: 初识 db4o“db4o 之旅(一)”

    前言 业界对持久存储领域的追求从未停止过,为了更方便.更容易地用对象表达我们的思维,开源领域和商业领域都涌现了许多新技术, ORM 的出现恰恰说明了这点.最近一年,业界也在反思,到底 ORM 给我们带 ...

  3. 开源面向对象数据库 db4o 之旅: 深入 db4o “db4o 之旅(三)”

    前言 在开源面向对象数据库 db4o 之旅 系列文章的第 1 部分:初识 db4o 中,作者介绍了 db4o 的历史和现状,应用领域,以及和 ORM 等的比较: 在第 2 部分:db4o 查询方式中, ...

  4. java在何时获得对象的确切类型_JAVA面试题(1)

    基础部分 面向对象 1.谈谈你对多态的理解. 答:在java中对于多态的理解是很重要的 多态的定义: 允许不同类的对象对同一消息做出相应,同一消息可以根据发送对象的不同而采用多种不同的行为方式,(发送 ...

  5. Java综合知识总结_数据库篇

    JavaMySQL 一.JDBC连接数据库步骤(以MYSQL为例) 1.加载JDBC驱动程序: 通过Class类的forName方法实现,并将驱动地址放进去 成功加载后,会将Driver类的实例注册到 ...

  6. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  7. java的几种对象(PO,VO,DAO,BO,POJO)解释

    本文转自: http://blog.csdn.net/bzhxuexi/article/details/8227808 Java的几种对象(PO,VO,DAO,BO,POJO)解释   一.PO:pe ...

  8. java流式传输对象_Java性能:面向教学与流式传输

    java流式传输对象 在for循环中向上或向下计数是最有效的迭代方式吗? 有时答案既不可行. 阅读这篇文章,了解不同迭代品种的影响. 迭代性能 关于如何以高性能进行迭代有很多观点. Java中的传统迭 ...

  9. Java 8 Friday:Java 8将彻底改变数据库访问

    在Data Geekery ,我们喜欢Java. 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋. 对于Java 8系列 ,我们 ...

  10. java 的几种对象 (PO,VO,DAO,BO,POJO) 解释

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象 ...

最新文章

  1. 使用第三方库(Senparc)完成小程序支付 - z
  2. 颠沛流离的Arcsight,辉煌不再
  3. centos6.8安装zabbix
  4. sql server链接查询
  5. 学会这二十个正则表达式,能让你少些1000行代码!
  6. “约见”面试官系列之常见面试题第七篇说说Vue的生命周期(建议收藏)
  7. 转:教你如何备考PMP
  8. 【问题描述】打印2018年的日历
  9. RequestResponse入门1(Request)
  10. 黑客帝国主要人物解读
  11. 小鸟云服务器如何进行远程桌面连接?
  12. 阿里旅行 门票基础保障内容
  13. 虚拟主播合成视频使用教程
  14. 数位dp算法——洛谷p1980
  15. 如何把C盘下用户的中文用户名改成英文用户名
  16. 分光器尺寸及光损耗计算
  17. 安卓中adb命令工作的底层原理及使用举例
  18. 服务器装系统提示获取分区失败,U盘重装系统时获取硬盘分区失败如何解决?...
  19. ST-LINK/V2驱动下载与安装
  20. 鸿蒙之始写完了吗,【精选】重阳节作文合集六篇

热门文章

  1. 微型计算机原理聂伟荣,微型计算机原理与应用 聂伟荣 第十章 串行通信技术 课件.pdf...
  2. Tomcat原理剖析
  3. 【软件工具使用】高效使用 Visio 绘图
  4. Git客户端精简版Git-2.10.0-32-bit.exe
  5. Atitit r7 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0-D3C8 D:\ati\r2017 v3 r01\
  6. 大型工业互联网项目(5000w+)投标复盘
  7. (七)linux操作系统-linux韩顺平2021笔记
  8. 三人表决器Verilog
  9. KL散度、JS散度 的理解以及一些问题
  10. 各个浏览器url带参限制