java db4o,DB4O–java对象数据库[通俗易懂]

java db4o,DB4O–java对象数据库[通俗易懂]特点直接存储java对象,抛弃对象映射的繁琐可以使用简单的查询语句致命缺点与java语言绑定demogitee地址https://gitee.com/ichiva/db4o-demo.git主要依赖org.fudaa.com.db4odb4o-java55.5.1编写测试用例官方实体类@DatapublicclassCar{privateIntegerid;privateString…

大家好,又见面了,我是你们的朋友全栈君。

特点

直接存储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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162587.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月21日 下午4:36
下一篇 2022年7月21日 下午4:46


相关推荐

  • Java中为什么静态方法不能被重写?为什么静态方法不能隐藏实例方法?

    Java中为什么静态方法不能被重写?为什么静态方法不能隐藏实例方法?问题描述 Java 中为什么静态方法不能被重写 为什么静态方法不能隐藏实例方法 诸如此类 前期准备首先理解重写的意思 重写就是子类中对父类的实例方法进行重新定义功能 且返回类型 方法名以及参数列表保持一致 且对重写方法的调用主要看实际类型 实际类型如果实现了该方法则直接调用该方法 如果没有实现 则在继承关系中从低到高搜索有无实现 那么问题又来了 为什么只能对实例方法才能重写 我头好晕 这两个问题在这互相

    2026年3月19日
    3
  • PageHelper详解

    PageHelper详解PageHelperpa 是 mybatis 提供的分页插件 目前支持 Oracle Mysql MariaDB SQLite Hsqldb PostgreSQL 六种数据库 使用方法原始样式 每页显示多条数据 现在的需求是每页显示 4 条数据后端导入依赖依赖 pagehelper 开始分页 Service 方法调用 SQL 查询前添加 PageHelper startPagePag startPage 1 20 这里有两个参数 分别为 page 1 rows 2

    2025年8月5日
    6
  • pycharm激活码永久破解[最新免费获取]

    (pycharm激活码永久破解)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32PGH0SQB-eyJsaWNlbnNlSWQiOi…

    2022年3月26日
    164
  • 计算机视觉项目-人脸识别与检测

    计算机视觉项目-人脸识别与检测人脸识别作为一种生物特征识别技术 具有非侵扰性 非接触性 友好性和便捷性等优点 人脸识别通用的流程主要包括人脸检测 人脸裁剪 人脸校正 特征提取和人脸识别 人脸检测是从获取的图像中去除干扰 提取人脸信息 获取人脸图像位置 检测的成功率主要受图像质量 光线强弱和遮挡等因素影响 下图是整个人脸检测过程

    2026年3月20日
    2
  • 2018.1版最新Pycharm设置默认编码utf-8

    2018.1版最新Pycharm设置默认编码utf-8

    2026年3月27日
    1
  • Java学习日记:UI篇(6)–谢尔宾斯基地毯图

    Java学习日记:UI篇(6)–谢尔宾斯基地毯图Java 学习日记 UI 篇 6 谢尔宾斯基地毯图引言 谢尔宾斯基地毯是数学家谢尔宾斯基提出的一个分形图形 谢尔宾斯基地毯和谢尔宾斯基三角形基本类似 不同之处在于谢尔宾斯基地毯采用的是正方形进行分形构造 而谢尔宾斯基三角形采用的等边三角形进行分形构造 谢尔宾斯基地毯和它本身的一部分完全相似 减掉一块会破坏自相似性 来自百度百科 是不是还不知道它是啥东西 没事 来张图看看 有密集恐惧症者慎入 思路 nbsp nbsp nbsp nbsp nbsp nbsp nbsp

    2026年3月18日
    2

发表回复

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

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