Db4o数据库:快速入门「建议收藏」

Db4o数据库:快速入门「建议收藏」偶遇Db4o,非常有感觉,就推荐给大家吧。它是一种开源对象数据库。百分之百的面对对象,操作数据库就像操作对象一样简单快速。它有Java和.Net两个版本,在其官网可下载安装包及源代码。以.Net版本为例,给大家介绍Db4o的使用。安装完成后,在omn文件夹下,有一个VisualStudio的插件(ObjectManagerEnterprise),利用它可以像其他数据库工具一样,可以快速访问对

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

偶遇Db4o,非常有感觉,就推荐给大家吧。它是一种开源对象数据库。百分之百的面对对象,操作数据库就像操作对象一样简单快速。它有Java和.Net两个版本,在其官网可下载安装包及源代码。以.Net版本为例,给大家介绍Db4o的使用。
安装完成后,在omn文件夹下,有一个Visual Studio的插件(ObjectManagerEnterprise),利用它可以像其他数据库工具一样,可以快速访问对象数据库。

创建数据库

	void CreateOrOpenDb()
	{
		string DbFile = "db4o.yap";
		IObjectContainer Container = Db4oEmbedded.OpenFile(DbFile);
	}

这里我们认识两个新朋友:
IObjectContainer : 它可以代表一个数据库对象或者数据库连接对象。它提供数据库的查询,添加,修改,删除,事务等方法。以后我们会详细介绍这些方法。
Db4oEmbedded :  在单机模式,可以使用它提供的静态的方法,创建或打开数据库。在网络模式,可以使用它提供的静态的方法,连接数据库服务。

存储对象

	Employee _employee = new Employee();
	_employee.Name = "Sunth";
	Container.Store(_employee);

利用IObjectContainer提供的Store()方法,进行存储操作。


查询对象

	IObjectSet Query = Container.QueryByExample(new Employee { Name="Sunth" });
	_employee = (Employee)Query.Next();

Db4o提供了4种模式,在这只演示最简单的一种,Query-By-Example(简称QBE)根据模板进行查询

利用IObjectContainer提供的QueryByExample()方法,进行简单的查询操作。(下一篇博客将细谈查询)

更新对象

	IObjectSet Query = Container.QueryByExample(new Employee { Name="Sunth" });
	_employee = (Employee)Query.Next();
	_employee.Name = "Tom";
	Container.Store(_employee);

更新操作还是利用IObjectContainer提供的Store()方法。

删除对象

	IObjectSet Query = Container.QueryByExample(new Employee { Name="Sunth" });
	_employee = (Employee)Query.Next();
	Container.Delete(_employee);

利用IObjectContainer提供的Delete()方法,进行删除操作;


结束语

第一篇就写这么多吧,是不是很简单? 下一篇将细谈查询。 祝大家快乐。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决IDEA插件安装慢、超时、不成功问题[通俗易懂]

    解决IDEA插件安装慢、超时、不成功问题[通俗易懂]解决IDEA插件安装慢、超时、不成功问题1.修改本地hosts文件,打开文件位置:Windows系统Hosts文件路径:C:\Windows\System32\drivers\etc\hosts用工具打开hosts文件2.打开国内插件的节点IP地址http://tool.chinaz.com/speedtest/plugins.jetbrains.com在检测结果中选择一个相对耗时少的IP地址,因为比较快然后按照第一步在hosts文件里加上即可,然后保存(需要以管理员身份)3.重

    2022年5月11日
    174
  • pki体系包括哪些_十大育人体系是指什么

    pki体系包括哪些_十大育人体系是指什么PKI(公钥设施基础,PublicKeyInfrastructure)是一种标准化的密钥管理平台,能为网络应用提供加密和数字签名,以及密钥和证书管理体系的服务。在几乎所有介绍PKI的书籍或文章上,我们都能看到类似于这样的一句话:使用PKI就能保证网络应用的安全。那么,PKI体系的安全性到底怎样呢?就让我们来逐一列出PKI体系的十大安全隐患:风险1:证书持有者能被信任吗?在PKI中,

    2022年8月22日
    8
  • java百分比或带百分号的数字转成double或Bigdecimal格式[通俗易懂]

    java百分比或带百分号的数字转成double或Bigdecimal格式[通俗易懂]java百分比或带百分号的数字转成double或Bigdecimal格式

    2022年4月23日
    347
  • shiro面试知识点总结_jmeter面试常见问题

    shiro面试知识点总结_jmeter面试常见问题Shiro总结和常见面试题一、 什么是shiroShiro是一个强大易用的java安全框架,提供了认证、授权、加密、会话管理、与web集成、缓存等功能,对于任何一个应用程序,都可以提供全面的安全服务,相比其他安全框架,shiro要简单的多。二、 Shiro的核心概念Subject、SecurityManager、RealmSubject:主体,代表了当前“用户”,这个用户不一定是一个具体的…

    2022年10月14日
    2
  • 如何解决VC6.0++ 与 win8&8.1兼容问题「建议收藏」

    如何解决VC6.0++ 与 win8&8.1兼容问题

    2022年3月2日
    56
  • 多线程锁的升级原理是什么?

    多线程锁的升级原理是什么?多线程锁的升级原理是什么?锁的级别从低到高:无锁->偏向锁->轻量级锁->重量级锁锁分级别原因:没有优化以前,sychronized是重量级锁(悲观锁),使用wait和notify、notifyAll来切换线程状态非常消耗系统资源;线程的挂起和唤醒间隔很短暂,这样很浪费资源,影响性能。所以JVM对sychronized关键字进…

    2022年6月21日
    37

发表回复

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

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