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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • BP神经网络原理推导

    BP神经网络原理推导本文会完成BP神经网络的推导过程,先介绍BP神经网络的历史,然后介绍BP神经网络的结构,然后再开始推导,最后介绍BP神经网络的优缺点以及几个优化的方法。

    2022年7月20日
    13
  • AllJoyn+Android开发案例-android跨设备调用方法

    AllJoyn+Android开发案例-android跨设备调用方法AllJoyn+Android开发案例-android跨设备调用方法

    2022年6月21日
    33
  • keras系列︱Sequential与Model模型、keras基本结构功能(一)

    keras系列︱Sequential与Model模型、keras基本结构功能(一)不得不说,这深度学习框架更新太快了尤其到了Keras2.0版本,快到Keras中文版好多都是错的,快到官方文档也有旧的没更新,前路坑太多。到发文为止,已经有theano/tensorflow/CNTK支持keras,虽然说tensorflow造势很多,但是笔者认为接下来Keras才是正道。笔者先学的caffe,从使用来看,比caffe简单超级多,非常好用,特别是重新训练一个模型,但是

    2025年8月22日
    3
  • repeater控件用法_propertygrid控件

    repeater控件用法_propertygrid控件在我们编写程序的时候经常会遇到控件嵌套的问题。通常最经常用到的控件时repeater,以下是一两个列子。HTML<asp:repeaterid="repeaterMain"Runat="server"OnItemDataBound="repeaterMain_ItemDataBound"><ItemTemplate><table&g..

    2022年10月13日
    2
  • AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)

    AvalonDock 2.0+Caliburn.Micro+MahApps.Metro实现Metro风格插件式系统(一)随着IOS7由之前UI的拟物化设计变为如今的扁平化设计,也许扁平化的时代要来了,当然我们是不是该吐槽一下,苹果什么时候也开始跟风了,自GOOGLE和微软界面扁平化过后,苹果也加入了这一队伍。AvalonDock  AvalonDock是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件。最新发布的版本原生支持MVVM框架、AeroSnap特效…

    2022年7月20日
    14
  • 3.3v与5v电平转换_5v电压经过10位A/D转换

    3.3v与5v电平转换_5v电压经过10位A/D转换问题背景在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V,有时候是反过来。虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V,即使IO口先串联一个电阻,然后再接上5V,这样总是不放心,担心烧掉MCU。再说了,MCU声称IO口支持TTL电平,但是并不是所有的IO都是这样,反正有隐患。解决方法就是电平转换。具体的我只说我在实际项目中运用到的方法,而且在项目中运用比较方便的,其他的都不再说了。法一:基于门电路第一种:利用O

    2022年8月10日
    10

发表回复

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

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