- 浏览: 1068258 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (639)
- 服务器配置篇 (58)
- hibernate篇 (14)
- spring篇 (33)
- struts篇 (28)
- JS篇 (46)
- 其他技术篇 (46)
- 数据库集群配置 (6)
- JAVA基础相关 (48)
- 分布式框架HadHoop的应用 (2)
- FLEX篇 (8)
- SQLSERVER技术 (32)
- Android学习 (13)
- amchart学习笔记 (1)
- openfire+smark搭建即时通讯 (9)
- Linux学习 (18)
- Oracle数据库 (15)
- 网站优化技术 (12)
- mysql数据库 (2)
- 项目学习总结 (18)
- 工具类(JAVA) (12)
- 工具类(JS) (2)
- 设计模式 (10)
- Lucene学习 (24)
- EJB3学习 (6)
- Sphinx搜索引擎 (3)
- 工作中用到的软件小工具 (5)
- .NET (49)
- JAVA 连接SQLSERVER2008步骤 (1)
- MongoDB (19)
- Android手机开发 (3)
- Maven (6)
- vue (9)
- Shiro (4)
- mybatis (3)
- netty框架 (1)
- SpringCloud (3)
- spring-cloud (7)
- Git (1)
- dubbo (2)
- springboot (13)
- rocketmq (1)
- git学习 (2)
- kafka服务器 (2)
- linux (10)
- WEB系统辅助项目 (1)
- jenkins (2)
- docker (4)
- influxdb (3)
- python (2)
- nginx (1)
最新评论
-
jiangfuofu555:
这样数据量大,效率怎么样?
sqlserver 实现分页的前台代码 以及后台的sqlserver语句 -
w156445045:
博主请问下,如何做到实时的刷新呢,
另外我后台是Java 谢谢 ...
web 版本的汽车仪表盘,非常好看。还有各种图形 -
jackyin5918:
<transportConnector name=&qu ...
ActiveMQ的activemq.xml详细配置讲解 -
握着橄榄枝的人:
你这个不是spring1.x的吧
spring1.x使用AOP实例 -
xiaophai:
全乱套了!
openfire+spark搭建完美的及时通讯
首先定义DB40要保存的JAVA对象
package com.boss.bean;
import java.io.Serializable;
import java.util.ArrayList;
/**
* @author Administrator
* @since 2010-12-22
* @category IndexBean类
*/
public class IndexBean implements Serializable {
private static final long serialVersionUID = 1L;
private ArrayList<MyField> list = new ArrayList<MyField>();
private long registerdate = System.nanoTime();
private boolean isIndex = false;
private String indexType = "create";
public ArrayList<MyField> getList() {
return list;
}
public void setList(ArrayList<MyField> list) {
this.list = list;
}
public long getRegisterdate() {
return registerdate;
}
public void setRegisterdate(long registerdate) {
this.registerdate = registerdate;
}
public boolean isIndex() {
return isIndex;
}
public void setIndex(boolean isIndex) {
this.isIndex = isIndex;
}
public String getIndexType() {
return indexType;
}
public void setIndexType(String indexType) {
this.indexType = indexType;
}
}
DB4O工具类:
package com.boss.tools;
import java.io.IOException;
import com.boss.bean.IndexBean;
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.defragment.Defragment;
import com.db4o.defragment.DefragmentConfig;
import com.db4o.ext.DatabaseFileLockedException;
/**
* @author Administrator
* @since 2010-12-20
* @category Db4o处理类
*/
public class Db4o {
private static ObjectContainer container = null;
private Db4o() {
}
static{
openObjectContainer();
}
/**
* @author
* @since 2010-12-20
* @category 打开db4o.db文件
*/
public static ObjectContainer getObjectContainer() {
return container;
}
/**
* @author
* @since 2010-12-20
* @category 打开db4o.db文件
*/
private static void openObjectContainer() {
if (container == null) {
try {
container = Db4oEmbedded.openFile("E:/db/db4o.db");
Log.info("开启db4o.db");
} catch (DatabaseFileLockedException e) {
Log.error(e.getMessage());
e.printStackTrace();
}
}
}
/**
* @author
* @since 2010-12-20
* @category 关闭db4o.db文件
*/
public static void close() {
if (container == null) {
openObjectContainer();
}
container.close();
Log.info("关闭db4o.db");
}
/**
* @author
* @since 2010-12-20
* @category 保存对象到db4o.db文件
*/
public static void store(Object obj) {
if (container == null) {
openObjectContainer();
}
if(container.ext().isClosed()) {
container = null;
openObjectContainer();
}
container.store(obj);
}
/**
* @author
* @throws IOException
* @since 2010-12-20
* @category 优化db4o.db文件
*/
public static void optimize() throws IOException {
DefragmentConfig config = new DefragmentConfig(Configuration.getDb4oPath());
config.forceBackupDelete(true);
try {
Defragment.defrag(config);
} catch (IOException e) {
Log.error(e.getMessage());
throw e;
}
}
public static void delete(IndexBean ib) {
container.delete(ib);
}
public static void commit(){
container.commit();
}
public static void main(String[] args) {
}
调用测试:
package com.boss.tools;
import java.util.ArrayList;
import java.util.List;
import com.boss.bean.IndexBean;
import com.boss.bean.MyField;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.Predicate;
public class TestDBBean {
/**
* @param args
*/
public static void main(String[] args) {
//store();
query();
}
public static void store()
{
ArrayList<MyField> list = new ArrayList<MyField>();
for(int i=0;i<100;i++)
{
MyField field = new MyField();
field.setIndex(""+i);
field.setName("cusName"+i);
field.setStore("store"+i);
field.setValue("tuping"+i);
list.add(field);
}
IndexBean ib = new IndexBean();
ib.setList(list);
Db4o.store(ib);
Db4o.close();
}
public static void query()
{
ObjectContainer container = null;
try {
container = Db4o.getObjectContainer();
//下面的代码是对查询的IndexBean条件进行过滤
ObjectSet<IndexBean> set = container
.query(new Predicate<IndexBean>() {
public boolean match(IndexBean ib) {
if (ib != null && !ib.isIndex()) {
return true;
} else {
return false;
}
}
});
while (set.hasNext()) {
IndexBean ib = set.next();
ArrayList<MyField> list = ib.getList();
for(MyField ml : list)
{
System.out.println(ml.getName()+":"+ml.getValue());
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Db4o.close();
}
}
}
- db4o对象保存源代码.rar (2.5 KB)
- 下载次数: 13
发表评论
-
JVM调优总结
2019-07-10 17:14 371https://www.cnblogs.com/andy-zh ... -
JAVA RESULTSET 使用详解
2012-03-20 21:01 3157调用ResultSet中的last()方法时,提示: java ... -
JAVA采用JDBC执行批处理操作注意的问题
2012-03-20 20:50 1978让我们看看如何使用JDBC API在Java中执行批量插入。虽 ... -
java 各种加密算法详细比较
2012-03-15 11:07 2293本篇内容简要介绍BASE64、MD5、SHA、HMAC几种加密 ... -
java:大数据文件写入,读取,分割,排序,合并
2012-03-05 20:21 2034/** * 大数据排序合并 * * @param ar ... -
JAVA 连接池,方便在平时使用
2012-02-21 15:03 1032java连接池使用 -
Java动态代理实现
2012-02-28 09:19 1000Java动态代理实现 在目前的Java开发包中包含 ... -
Java Socket实战之五 使用加密协议传输对象
2012-02-16 13:49 1126本文地址:http://blog.csdn.net/kongx ... -
Java Socket实战之四 传输压缩对象
2012-02-16 13:48 1016转载:http://blog.csdn.net/kongxx/ ... -
Java Socket实战之三 传输对象
2012-02-16 13:48 681转载:http://blog.csdn.net/kongxx/ ... -
Java Socket实战之二 多线程通信
2012-02-16 13:47 1150本文地址:http://blog.csdn.net/kongx ... -
Java Socket实战之一 单线程通信
2012-02-16 13:46 1022转载:http://blog.csdn.net/kongx ... -
java5 新增线程池的使用
2012-02-09 09:26 1156package net.itdos.concurrent; ... -
P2P之UDP穿透NAT的原理与实现
2012-01-11 11:03 1252关键词: P2P UDP NAT 原理 穿透 Traveral ... -
火车票网上订票软件
2012-01-11 09:05 1911JAVA程序GOHOME自动抢票成功!非常棒~~~不多说,直接 ... -
java tcp/ip 通讯服务端和客户端
2011-12-15 08:20 1358java tcp/ip 通讯服务端和客户端 -
java 读取服务器上的某个文件,并解决UTF-8 BOM文件的问号问题
2011-11-28 15:16 1435JAVA读取UTF-8 BOM文件的时候会在文件头产生一个?号 ... -
JAVA 多线程学习笔记
2011-10-12 09:03 1071JAVA 多线程学习笔记 -
XBlink 1.0.0版发布,更轻、更快、更好用
2011-10-09 14:47 1313XBlink 1.0.0版发布,更轻、更快、更好用。 ... -
db4o 文件整理(收缩)
2011-09-29 22:26 1482一直都不敢大胆使用db4o,不是因为它不好用,不稳定,而 ...
相关推荐
db4o 对象持久化是将 Java 对象保存到数据库中的过程。 db4o 提供了两种运行模式:本地模式和服务器模式。在本地模式下,开发者可以直接在程序里打开 db4o 数据库文件进行操作,而在服务器模式下,客户端可以通过 IP...
开发者可以轻松地将`Drawing`对象保存到db4o数据库中,然后在需要的时候加载出来继续编辑。 ### 应用场景 db4o适用于那些需要高效、灵活数据管理,且对象模型复杂,不适合传统关系型数据库的场景。比如游戏开发,...
2. **对象持久化**: 要保存一个对象,你只需要创建该对象,然后使用`database.store()`方法将其存入数据库。Db4o会自动跟踪对象的所有变化,并在下次调用`store()`时更新它们。 3. **对象检索**: Db4o提供了一种...
db4o是一个专为Java和.NET开发者设计的开源、轻量级的纯面向对象数据库引擎,提供了一种简单易用的方式来实现对象持久化。这款数据库引擎已被验证具备优秀的性能,根据描述中的基准测试,db4o在与传统持久化方案的...
**db4o(Database for Objects)** 是一个开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者直接在Java或.NET平台上存储和检索Java对象或.NET对象,无需进行SQL查询或者映射过程。db4o的...
db4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将Java或.NET对象存储到数据库中,无需进行ORM(对象关系映射)。db4o的目标是简化数据管理,提供更接近自然编程的方式,使开发过程更加...
db4o(Database for Objects)是一种开源的对象数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象持久化到数据库中,无需传统的SQL语句。这个数据库系统的核心理念是“存储对象,而非...
db4o(Database for Objects)是一款开源的对象关系数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象存储到数据库中,无需编写SQL语句。db4o的核心理念是“对象即数据”,它提供了...
这个简单的示例展示了如何打开一个DB4O数据库,创建一个新的Person对象,将其保存到数据库,然后通过查询API获取并打印出该对象。 总的来说,DB4O作为一个对象数据库,为Java开发者提供了便捷的数据存储和检索方式...
了解db4o引擎的工作原理以及如何将对象持久化到数据库中。 - **基本操作**:学习如何使用db4o进行对象的存储、查询、更新和删除等基本操作。这些操作通常涉及到数据库的连接、事务管理以及对象的序列化和反序列化...
《db4o 权威指南》是一本深入探讨db4o这一开源面向对象数据库系统的专业书籍,对于Java开发者来说尤其有价值。db4o是Database for Objects的缩写,它允许开发者以自然、直观的方式存储和检索Java对象,无需编写SQL...
总的来说,Db4o是一个强大的对象数据库解决方案,它简化了.NET开发中的数据管理,使得对象模型和数据库模型保持一致,提高了开发效率。对于需要处理复杂对象关系或希望减少对SQL依赖的项目,Db4o是一个值得考虑的...
db4o将对象的实例直接保存到数据库中,使得对象的关系和状态得以保留,提供了更接近于面向对象编程的体验。 ### 2. .NET 3.5支持 .NET Framework 3.5是微软开发的一个广泛使用的平台,用于构建各种类型的应用程序...
DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接在内存中以对象的形式存储、查询和检索数据,无需转换为关系型数据库的表格形式。在本笔记中,我们将深入探讨DB4o的对象SQL基本操作,...
- Installation:在Java项目中使用DB40,通常需要将db4o相关的JAR文件添加到项目的构建路径或依赖管理中。对于Maven项目,可以通过在pom.xml文件中添加对应的依赖来实现。 2. 第一步: - 打开一个DB4O库:首先,...
DB4O(Database for Objects)是一款开源的对象数据库系统,它允许开发者将.NET对象直接存储到数据库中,无需进行ORM(对象关系映射)转换。在.NET环境中,db4o为开发人员提供了简单、高效的数据库解决方案,特别...
DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将对象持久化到数据库中,无需进行额外的映射或者数据访问层(DAL)的开发。这个数据库系统设计的目标是简化对象关系映射(ORM)的过程,...
DB4O(Database for Objects)是一款开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者将Java或.NET对象直接存储到磁盘上,无需转换为传统的表和列的结构。DB4O的设计理念是简化数据存储,...
通过这份教程,用户可以深入理解DB4O的工作原理,学习如何将对象持久化到数据库中,以及如何利用其强大的查询功能。 在DB4O 8.0中,Object Manager是一个重要的组件,它提供了可视化界面,用于查看和操作数据库中的...