特点

直接存储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. 强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例----Sarsa算法, Q学习, 期望Sarsa算法
  2. 【怎样写代码】偷窥高手 -- 反射技术(五):深入窥视方法
  3. 经典数学问题:Nim游戏
  4. 过年,你肯定会用到这款小程序!
  5. Flask cookie API(response.set_cookie,request.cookies)
  6. mongoDB - 插入数据
  7. Arcgis Android 基本概念 - 浅谈
  8. vscode统计代码行数
  9. 戴尔服务器怎么win7系统安装系统,戴尔 DELLVostro3400能不能安装windows7系统_戴尔 DELLVostro3400怎么安装win7系统-win7之家...
  10. Java基础篇---练习:类的设计
  11. 永恒之黑(CVE-2020-0796 微软SMBv3协议远程代码执行漏洞)
  12. python爬虫实战-如何批量爬取唯品会商品信息>>>
  13. DDD - 概述 - (一)
  14. bom成本分析模型_BOM成本估算表
  15. 下面属于python内置对象的有哪些_python练习题-写一个函数,打印所有包含copy方法的内置对象...
  16. IEEE1588时钟同步服务器应用数字化变电站
  17. DTMB BDA TV USB
  18. java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法
  19. pdf预览在vue项目中的使用兼容ie浏览器
  20. 《强化学习周刊》第71期:ICAPS2023强化学习论文推荐、Meta:通过将语言模型与战略推理相结合,在外交游戏中发挥人的水平...

热门文章

  1. MongoDB(芒果数据库)学习(一)———增删改查
  2. Java实现飞机大战
  3. C语言 流缓冲 Stream Buffering
  4. Matlab-Simulink文件类型总结
  5. 【蓝桥杯真题】2021年蓝桥杯省赛B组题目解析+代码(C/C++)
  6. 数字逻辑实验五 七人表决器
  7. 三人表决器实验报告总结_三人表决器实验报告
  8. 简单的MQTT客户端工具
  9. GB35114---基于pjsip协议库开发问题
  10. java实现 GB35114 sip AuthorizationHeader遇到的一个小坑