- 浏览: 1071662 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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搭建完美的及时通讯
package com.test;
import java.io.File;
import java.util.List;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.Configuration;
import com.db4o.io.CachedIoAdapter;
import com.db4o.io.RandomAccessFileAdapter;
import com.db4o.query.Constraint;
import com.db4o.query.Query;
public class Test {
/**
* @param args
*/
private static MessageDao messageDao = null;
private static Configuration configuration = null;
private static ObjectContainer db = null;
private static String path= "./dat/JCNEP3161_chatHistory.db";
public Test()
{
configuration = Db4o.newConfiguration();
// configuration.io(new RandomAccessFileAdapter());
configuration.io(new CachedIoAdapter(new RandomAccessFileAdapter()));
configuration.optimizeNativeQueries(true);
configuration.objectClass(MyMessage.class).objectField("from").indexed(true);
configuration.objectClass(MyMessage.class).objectField("to").indexed(true);
configuration.objectClass(MyMessage.class).objectField("body").indexed(true);
configuration.objectClass(MyMessage.class).objectField("date").indexed(true);
configuration.objectClass(MyMessage.class).objectField("date_time").indexed(true);
}
public static void main(String[] args) {
/* Test test = new Test();
test.openDB4O(path);
for(int i=0;i<30;i++)
{
MyMessage mm = new MyMessage();
mm.setBody("你好"+i);
mm.setDate("2010-07-"+i);
mm.setFrom("JCNEP4095");
mm.setFromName("张三");
mm.setTo("JCNEP3160");
mm.setToName("李四");
db.store(mm);
}
db.close();*/
Test test = new Test();
test.openDB4O(path);
/*
* 查询所有数据
* List<MyMessage> list = test.getAllMessage();
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}*/
/*
* 根据ID查询
* List<MyMessage> list = test.getMessageByID("JCNEP3160");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}
*/
/*
* 根据BODY来查询
* List<MyMessage> list = test.getMessageByBody("我爱你2");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}*/
List<MyMessage> list = test.getMessageByDate("2010-07-10","2010-07-20");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}
}
//根据时间段查询
public List<MyMessage> getMessageByDate(String begin,String end)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
//表示date字段大于等于开始时间,小于等于结束时间
query.descend("date").constrain(begin).greater().equal();
query.descend("date").constrain(end).smaller().equal();
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//根据body编码查询
public List<MyMessage> getMessageByBody(String body)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
Constraint ct = query.descend("body").constrain(body);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//根据ID编码查询
public List<MyMessage> getMessageByID(String To)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
//表示DB文件中TO字段的值为To的数据 Constraint ct = query.descend("to").constrain(To);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//查询所有DB中的数据
public List<MyMessage> getAllMessage()
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
public static void openDB4O(String path) {
File tempFile = new File(path);
String tempStr = tempFile.getAbsolutePath();
int index = tempStr.lastIndexOf(File.separatorChar);
if (index > 0) {
String path2 = tempStr.substring(0, tempStr.lastIndexOf(File.separatorChar));
File file = new File(path2);
if (!file.exists()) {
file.mkdirs();
}
}
db = Db4o.openFile(configuration, path);
}
}
import java.io.File;
import java.util.List;
import com.db4o.Db4o;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.config.Configuration;
import com.db4o.io.CachedIoAdapter;
import com.db4o.io.RandomAccessFileAdapter;
import com.db4o.query.Constraint;
import com.db4o.query.Query;
public class Test {
/**
* @param args
*/
private static MessageDao messageDao = null;
private static Configuration configuration = null;
private static ObjectContainer db = null;
private static String path= "./dat/JCNEP3161_chatHistory.db";
public Test()
{
configuration = Db4o.newConfiguration();
// configuration.io(new RandomAccessFileAdapter());
configuration.io(new CachedIoAdapter(new RandomAccessFileAdapter()));
configuration.optimizeNativeQueries(true);
configuration.objectClass(MyMessage.class).objectField("from").indexed(true);
configuration.objectClass(MyMessage.class).objectField("to").indexed(true);
configuration.objectClass(MyMessage.class).objectField("body").indexed(true);
configuration.objectClass(MyMessage.class).objectField("date").indexed(true);
configuration.objectClass(MyMessage.class).objectField("date_time").indexed(true);
}
public static void main(String[] args) {
/* Test test = new Test();
test.openDB4O(path);
for(int i=0;i<30;i++)
{
MyMessage mm = new MyMessage();
mm.setBody("你好"+i);
mm.setDate("2010-07-"+i);
mm.setFrom("JCNEP4095");
mm.setFromName("张三");
mm.setTo("JCNEP3160");
mm.setToName("李四");
db.store(mm);
}
db.close();*/
Test test = new Test();
test.openDB4O(path);
/*
* 查询所有数据
* List<MyMessage> list = test.getAllMessage();
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}*/
/*
* 根据ID查询
* List<MyMessage> list = test.getMessageByID("JCNEP3160");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}
*/
/*
* 根据BODY来查询
* List<MyMessage> list = test.getMessageByBody("我爱你2");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}*/
List<MyMessage> list = test.getMessageByDate("2010-07-10","2010-07-20");
for(MyMessage mm : list)
{
System.out.println(mm.getFrom()+":"+mm.getTo()+":内容:"+mm.getBody()+":日期:"+mm.getDate());
}
}
//根据时间段查询
public List<MyMessage> getMessageByDate(String begin,String end)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
//表示date字段大于等于开始时间,小于等于结束时间
query.descend("date").constrain(begin).greater().equal();
query.descend("date").constrain(end).smaller().equal();
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//根据body编码查询
public List<MyMessage> getMessageByBody(String body)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
Constraint ct = query.descend("body").constrain(body);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//根据ID编码查询
public List<MyMessage> getMessageByID(String To)
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
//表示DB文件中TO字段的值为To的数据 Constraint ct = query.descend("to").constrain(To);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
//查询所有DB中的数据
public List<MyMessage> getAllMessage()
{
List<MyMessage> mymessage=null;
Query query = this.db.query();
query.constrain(MyMessage.class);
ObjectSet objset = query.execute();
mymessage = objset;
return mymessage;
}
public static void openDB4O(String path) {
File tempFile = new File(path);
String tempStr = tempFile.getAbsolutePath();
int index = tempStr.lastIndexOf(File.separatorChar);
if (index > 0) {
String path2 = tempStr.substring(0, tempStr.lastIndexOf(File.separatorChar));
File file = new File(path2);
if (!file.exists()) {
file.mkdirs();
}
}
db = Db4o.openFile(configuration, path);
}
}
- test.rar (3.4 KB)
- 下载次数: 7
发表评论
-
JVM调优总结
2019-07-10 17:14 376https://www.cnblogs.com/andy-zh ... -
JAVA RESULTSET 使用详解
2012-03-20 21:01 3161调用ResultSet中的last()方法时,提示: java ... -
JAVA采用JDBC执行批处理操作注意的问题
2012-03-20 20:50 1982让我们看看如何使用JDBC API在Java中执行批量插入。虽 ... -
java 各种加密算法详细比较
2012-03-15 11:07 2299本篇内容简要介绍BASE64、MD5、SHA、HMAC几种加密 ... -
java:大数据文件写入,读取,分割,排序,合并
2012-03-05 20:21 2037/** * 大数据排序合并 * * @param ar ... -
JAVA 连接池,方便在平时使用
2012-02-21 15:03 1038java连接池使用 -
Java动态代理实现
2012-02-28 09:19 1003Java动态代理实现 在目前的Java开发包中包含 ... -
Java Socket实战之五 使用加密协议传输对象
2012-02-16 13:49 1131本文地址:http://blog.csdn.net/kongx ... -
Java Socket实战之四 传输压缩对象
2012-02-16 13:48 1021转载:http://blog.csdn.net/kongxx/ ... -
Java Socket实战之三 传输对象
2012-02-16 13:48 685转载:http://blog.csdn.net/kongxx/ ... -
Java Socket实战之二 多线程通信
2012-02-16 13:47 1153本文地址:http://blog.csdn.net/kongx ... -
Java Socket实战之一 单线程通信
2012-02-16 13:46 1026转载:http://blog.csdn.net/kongx ... -
java5 新增线程池的使用
2012-02-09 09:26 1174package net.itdos.concurrent; ... -
P2P之UDP穿透NAT的原理与实现
2012-01-11 11:03 1254关键词: P2P UDP NAT 原理 穿透 Traveral ... -
火车票网上订票软件
2012-01-11 09:05 1914JAVA程序GOHOME自动抢票成功!非常棒~~~不多说,直接 ... -
java tcp/ip 通讯服务端和客户端
2011-12-15 08:20 1362java tcp/ip 通讯服务端和客户端 -
java 读取服务器上的某个文件,并解决UTF-8 BOM文件的问号问题
2011-11-28 15:16 1443JAVA读取UTF-8 BOM文件的时候会在文件头产生一个?号 ... -
JAVA 多线程学习笔记
2011-10-12 09:03 1091JAVA 多线程学习笔记 -
XBlink 1.0.0版发布,更轻、更快、更好用
2011-10-09 14:47 1317XBlink 1.0.0版发布,更轻、更快、更好用。 ... -
db4o 文件整理(收缩)
2011-09-29 22:26 1488一直都不敢大胆使用db4o,不是因为它不好用,不稳定,而 ...
相关推荐
在“Db4o的简单操作项目”中,我们将探讨如何使用Db4o进行基本的数据操作,包括对象的持久化、查询以及事务管理。 首先,你需要访问db4o的官方网站(http://www.db4o.com)来获取最新的Db4o版本。下载完成后,将jar...
QBE 是一种基于示例的查询方式,开发者可以创建一个查询对象, db4o 将根据该对象的属性值来进行查询。 SODA 是一种简单的对象数据库访问方式,开发者可以使用 SODA 来执行基本的 CRUD 操作。 NQ 是 db4o 的主要...
db4o(database for objects)是对象数据库的一种,它提供了对Java和.NET平台的完全支持,允许开发者以面向对象的方式来操作数据,极大地简化了数据管理和持久化的过程。 ### db4o概述 db4o的核心理念是“存储对象...
作为一个开源项目,db4o拥有活跃的开发社区,提供了广泛的文档、示例和讨论论坛,帮助开发者解决问题并不断改进产品。 总的来说,db4o .net3.5是一个强大的工具,为.NET开发者提供了对象持久化的简便方法,通过上述...
这个简单的示例展示了如何打开一个DB4O数据库,创建一个新的Person对象,将其保存到数据库,然后通过查询API获取并打印出该对象。 总的来说,DB4O作为一个对象数据库,为Java开发者提供了便捷的数据存储和检索方式...
2. **透明性**:Db4o与应用程序的集成非常平滑,对象的存取操作就像在内存中一样简单。对象的持久化、检索和更新都在后台自动完成。 3. **查询能力**:Db4o支持Lambdas表达式和LINQ(Language Integrated Query)...
Java数据库db4o,全称为“Database for Objects”,是一款开源的对象数据库系统,专门设计用于Java...在压缩包中的“db4o”文件可能包含了db4o的库文件、示例代码、文档等资源,可以帮助深入理解和使用这个数据库系统。
教程从db4o的基础概念入手,逐步引导用户了解db4o的工作原理和基本操作。建议初学者先浏览HTML教程,尝试运行其中的示例代码,以获得直观的学习体验。 #### 2. 深入学习 对于想要深入了解db4o特性和高级功能的...
压缩包中的“DB4O测试”可能包含了一些示例代码,用于演示如何使用DB4o进行对象的存储、查询以及事务处理等操作。通过阅读和运行这些代码,你可以更深入地理解DB4o的工作原理和用法。 10. **整合VS2008**: 在VS...
在.NET环境中,db4o为开发人员提供了简单、高效的数据库解决方案,特别适合于快速构建小型桌面应用程序。这款数据库引擎的核心优势在于它的对象持久化能力,使得数据操作更接近于面向对象编程的思维方式。 标题中的...
`TestDBBean.java`示例展示了如何定义一个可持久化的对象类,而`Configuration.java`和`Db4o.java`则涉及到数据库的配置和操作。在实际项目中,结合这些知识,你可以构建出高效、易于维护的数据存储解决方案。
DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接将对象存储在文件...在提供的压缩包“db4o”中,可能包含了DB4O的库文件、示例代码或者文档,供进一步学习和使用。
下面是关于DB4O的详细教程,包括打开数据库、插入记录、查询记录、更新对象和删除对象等操作。 打开数据库 在使用DB4O之前,需要首先打开数据库。如果不存在,则创建新数据库。下面是一个打开数据库的示例: ```...
4. 示例数据库:用于展示如何操作和查询db4o数据库的示例文件。 5. 配置文件:可能包含工具的设置和配置信息。 使用db4o管理工具的主要知识点包括: 1. 对象数据库概念:理解对象数据库如何存储和检索对象,而不是...
下面通过一个简单的示例来介绍如何使用db4o进行数据存储和检索操作。 ```java import com.db4o.Db4o; import com.db4o.ObjectContainer; import com.db4o.ObjectSet; public class FirstStepsExample { public ...
db4o是一款开源的对象数据库,它允许开发者直接以对象的形式存储和查询数据,从而简化了数据操作。 文章首先引出了持久化存储领域的发展,提到了ORM工具如Hibernate在简化对象与数据库交互方面的贡献,但也指出ORM...