当前位置:首页 > java知识学习_java技术文章 > 正文

db4o对象数据库入门教程详解

浏览124+

一、面向对象数据库db4o简介

db4o是一个小众类型的数据库,在国内使用量相对较少,并且也没有成熟的互联网公司在使用该技术,但是该技术有一个优点是其他数据库所不能比拟的,它是完全开源的完全面向对象的数据库产品,可以像Java程序一样直接操作对象面向对象编程非常的方便,这是其它数据库所不具备的特性。

db4o数据库使用起来简单快速并且性能也很好,功能非常强大,跟一些持久性框架性能对比结果显示它的性能仅仅次于JDBC,但是JDBC是原生的操作数据库并不是面向对象开发,所以db4o在面向对象这一块儿可以说是名列前茅的优秀的一款数据库产品。

二、特点和性能对比

db4o数据库能够做到在不牺牲性能的情况下完成面向对象的操作,很显然其它面向对象的ORM框架如hibernate等与其对比性能有很大的差距。

目前,该数据库支持的后端语言有Java和.net,db4o能够完美融合java和.Net语言,程序员可以直接操作数据库,不需要做对象关系映射,这极大地提升了数据库开发的效率。

下图是db4o数据库跟其它关系型数据库框架框架做的性能对比,从图中可以看出该数据库的性能非常优越,并且下载安装非常的便利和简单,API也是很容易上手操作属于一款很优秀的数据库产品。

db4o与其它对象关系框架性能测试对比一览图

三、db4o对象数据库使用入门详解教程

步骤一:下载和安装

db4o数据库下载和安装比较方便,我们可以在其官方网站进行下载,也可以点此进入下载页面:db4o下载。

该数据库支持Java版和.Net版,我们可以根据上面的下载页面选择相应语言的相应稳定版本进行下载,包括其可用的jar包、Api和入门文档,文件很小便于下载和安装。

此外,该数据库中有一个用于做对象管理的可视化工具,名字叫 ObjectManager,我们也可以在上面提供的页面中进行下载。

db4o相关打包文件下载完之后,将对应的语言的jar文件导入到项目中可以使用了,这里我们将使用.Net语言做接下来的CRUD实例化操作,如果需要学习java语言操作db4o数据库,可以点击下面的文章学习:

java操作db4o使用教程: https://blog.csdn.net/feixue1232/article/details/8514961

步骤二:数据库启用创建

下面我们在程序中编写创建数据库对象的代码,db4o.yap文件是该数据库的核心文件,我们在项目中应用时需要指定该文件的路径,然后创建该数据库的连接对象,具体代码详见下图。

数据库启用创建的详细代码

上图中的代码就是启用数据库和创建数据库连接对象的核心代码,上图中的代码中我们发现了两个陌生的对象,一个是IObjectContainer对象,另一个是Db4oEmbedded对象,这两个对象都是我们做数据库增删改都必须要使用和接触的对象。

Db4oEmbedded分两种模式,有单机模式和网络模式两种模式,单机模式下它可以调用openfire()方法创建数据库,如果在网络模式下它可以连接网络数据库服务。

IObjectContainer指代的就是数据库连接对象,在我们接下来的数据库的CRUD的增删改查等所有的操作都由该对象来完成。

步骤三:db4o对象添加和查询操作

添加对象代码:

数据库添加对象的完整代码

查询对象代码:

查询数据库对象的完整代码

对象添加和对象更新都是使用的同一个方法,统一调用.store()方法(详见上图),如果数据库中没有该对象对应的该条数据那该方法就是增加方法,如果数据库中有了对应该对象的数据那该方法就是做更新操作。

该数据库的查询方法有很多种,我们在这里就不一一的介绍了,我们只上图中代码中书写的最常用的也是最简单的查询方式,使用该对象的模板进行查询,然后Container调用.QueryByExample()方法获得一个模板查询对象,模板查询对象调用.next()方法做查询操作。

步骤四:对象的修改和删除操作

对象修改代码:

数据库修改对象的完整代码

对象删除代码:

数据库删除对象的完整代码

而更新操作就更简单了,直接用康婷那儿对象调用电视的方法。做整个对象的。修改和更新操作。

更新对象的操作和添加对象的操作调用的是相同的方法,具体见上图,删除操作也是很简单的,首先根据名称获取到到需要删除的对象,然后调用.delete()方法做删除操作。

四、db4o数据库缺点

该数据库优点以及应用我们都已经介绍了,但是无论任何看似近乎完美的数据库,都会有其相应的缺点所在,db4o数据库也不例外。

首先,官网已经不再对该数据库进行更新和维护操作了,因此我们在使用该数据库的时候一定要慎重,否则如果出现什么bug之类的官方也不会给修复。

其次,它是对象关系数据库,但是db4o没有主键的概念,没有主键导致我们在程序中获得该对象的引用是比较繁琐和更加困难的,应用起来有不方便的地方。

第三。程序与数据库耦合度比较高,因为程序中的对象与数据库对象是一一对应的,但我们如果对程序中的对象的属性进行修改的话,势必会影响到数据库,这种改变会导致数据库结构也要跟着改变。

第四,没有像mysql这种数据库中那种成型的sql语言。db4o的语言也不是标准规范的,用起来也不够成熟且不够流行,让很多没用过该数据库的人显得有些陌生。

 

责任声明:文章信息由IT教程屋小编精心整理总结编排而成,倾注了心血和汗水,转载时请遵循行业规范务必注明文章作者、来源及本页链接,谢谢合作!
本篇文章标题:db4o对象数据库入门教程详解
本篇文章url地址:http://www.itjcw123.cn/2946.html