马刺vs勇士1月26日:Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象)
来源:百度文库 编辑:九乡新闻网 时间:2024/05/07 04:21:51
Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象) Mapping Objects(映射对象)
我们一旦注解了我们的对象,将有很大繁重的工作要做。现在我们要做的就是需要创建一个Morphia实例,告诉Morphia我们要映射那些类,然后我们就可以
开始在Mongo文档和Java对象之间映射了。
Create a Morphia instance(创建一个Morphia实例)
首先你要做的就是创建一个Morphia实例,并且告诉他你要映射的类。建议你仅创建一次Morphia实例,重复使用。
view plain
import com.google.code.morphia.Morphia;
...
Morphia morphia = new Morphia();
morphia.map(BlogEntry.class)
.map(Author.class);
...
你映射的任何一个类都将会进行验证,如果由于某些原因你映射的类不合法将会抛出一个MappingException异常。
你也可以告诉Morphia去扫描一个包,映射包中的所有类。
view plain
...
morphia.mapPackage("my.package.with.only.mongo.entities");
...
Advanced Usage(高级应用)
手动的使用Morphia映射到DBObjects通过java驱动直接进行交互。一下是一些如何使用他的实例。
Mapping a java for Persistence
手动的使用Morphia映射到DBObjects通过java驱动直接进行交互。这是一个实例。
让我们说我们有一个博客实例对象,我们想把它保存到Mongo数据库中的一个容器中。我们仅仅调用Morphia中的toDBObject()方法,把java对象传入。
我们可以把返回的DBObject对象直接保存到Mongo中。
view plain
Morphia morphia = ...;
Mongo mongo = ...;
DB db = mongo.getDB("BlogSite");
BlogEntry blogEntry = ...; // this is our annotated object
// map the blog entry to a Mongo DBObject
DBObject blogEntryDbObj = morphia.toDBObject(blogEntry);
// and then save that DBObject in a Mongo collection
db.getCollection("BlogEntries").save(blogEntryDbObj);
现在我们的博客实例对象已经保存到了Mongo中。
Retrieving a java from MongoDB(从Mongo中回复一个Java对象)
现在让我们看看另一个方法:创建一个Java对象从Mongo数据库中的一个文档。这也非常简单。我们仅仅调用Morphia中的fromDBObject()方法即可,传入要返回的DBObject对象。
view plain
Morphia morphia = ...;
Mongo mongo = ...;
DB db = mongo.getDB("BlogSite");
String blogEntryId = ...; // the ID of the blog entry we want to load
// load the DBObject from a Mongo collection
BasicDBObject blogEntryDbObj = (BasicDBObject) db.getCollection("BlogEntries").findOne(new BasicDBObject("_id", new ObjectId(blogEntryId));
// and then map it to our BlogEntry object
BlogEntry blogEntry = morphia.fromDBObject(BlogEntry.class, blogEntryDbObj);
就是这样!Morphia移除了所有的容易出错的代码,你需要手动的映射到/从你的Java对象。
使用Morphia管理你的Mongdo中的Java对象的非常清楚的方法是使用DAO 支持。那个方法抽象Mongo和Morphia在一个数据访问对象(DAO)内部,所以你的业务逻辑不用依赖Morphia。
原文链接:http://code.google.com/p/morphia/wiki/MappingObjects
分享到:
上一篇:Mongodb 的ORM框架 Morphia 之 原始类型和基本类型注解
下一篇:Mongodb 的ORM框架 Morphia 之 接口编程
我们一旦注解了我们的对象,将有很大繁重的工作要做。现在我们要做的就是需要创建一个Morphia实例,告诉Morphia我们要映射那些类,然后我们就可以
开始在Mongo文档和Java对象之间映射了。
Create a Morphia instance(创建一个Morphia实例)
首先你要做的就是创建一个Morphia实例,并且告诉他你要映射的类。建议你仅创建一次Morphia实例,重复使用。
view plain
import com.google.code.morphia.Morphia;
...
Morphia morphia = new Morphia();
morphia.map(BlogEntry.class)
.map(Author.class);
...
你映射的任何一个类都将会进行验证,如果由于某些原因你映射的类不合法将会抛出一个MappingException异常。
你也可以告诉Morphia去扫描一个包,映射包中的所有类。
view plain
...
morphia.mapPackage("my.package.with.only.mongo.entities");
...
Advanced Usage(高级应用)
手动的使用Morphia映射到DBObjects通过java驱动直接进行交互。一下是一些如何使用他的实例。
Mapping a java for Persistence
手动的使用Morphia映射到DBObjects通过java驱动直接进行交互。这是一个实例。
让我们说我们有一个博客实例对象,我们想把它保存到Mongo数据库中的一个容器中。我们仅仅调用Morphia中的toDBObject()方法,把java对象传入。
我们可以把返回的DBObject对象直接保存到Mongo中。
view plain
Morphia morphia = ...;
Mongo mongo = ...;
DB db = mongo.getDB("BlogSite");
BlogEntry blogEntry = ...; // this is our annotated object
// map the blog entry to a Mongo DBObject
DBObject blogEntryDbObj = morphia.toDBObject(blogEntry);
// and then save that DBObject in a Mongo collection
db.getCollection("BlogEntries").save(blogEntryDbObj);
现在我们的博客实例对象已经保存到了Mongo中。
Retrieving a java from MongoDB(从Mongo中回复一个Java对象)
现在让我们看看另一个方法:创建一个Java对象从Mongo数据库中的一个文档。这也非常简单。我们仅仅调用Morphia中的fromDBObject()方法即可,传入要返回的DBObject对象。
view plain
Morphia morphia = ...;
Mongo mongo = ...;
DB db = mongo.getDB("BlogSite");
String blogEntryId = ...; // the ID of the blog entry we want to load
// load the DBObject from a Mongo collection
BasicDBObject blogEntryDbObj = (BasicDBObject) db.getCollection("BlogEntries").findOne(new BasicDBObject("_id", new ObjectId(blogEntryId));
// and then map it to our BlogEntry object
BlogEntry blogEntry = morphia.fromDBObject(BlogEntry.class, blogEntryDbObj);
就是这样!Morphia移除了所有的容易出错的代码,你需要手动的映射到/从你的Java对象。
使用Morphia管理你的Mongdo中的Java对象的非常清楚的方法是使用DAO 支持。那个方法抽象Mongo和Morphia在一个数据访问对象(DAO)内部,所以你的业务逻辑不用依赖Morphia。
原文链接:http://code.google.com/p/morphia/wiki/MappingObjects
分享到:
上一篇:Mongodb 的ORM框架 Morphia 之 原始类型和基本类型注解
下一篇:Mongodb 的ORM框架 Morphia 之 接口编程
Mongodb 的ORM框架 Morphia 之 使用Morphia(映射对象)
Morphia一个nosql的ORM框架
Cayenne,开源 ORM 盛宴中的另道佳肴,第 2 部分: 再品小辣椒 - Apache Cayenne 的高级特性使用 Cayenne ROP 技术远程访问数据库对象以及 Cayenne 的数据
“渐变映射”调整的原理和使用
Mongodb源码分析--内存文件映射(MMAP)
PetaPoco:适用于.NET的微型ORM
面向对象框架技术及应用
mongodb有关的研究
倒影与映射之美
倒影与映射之美
COM套间对.NET程序使用COM对象的影响
基于MongoDB MapReduce的统计分析
什么是ORM
Mongodb源码分析--Mongos之balancer(均衡)
MongoDB性能优化之连接优化
MongoDB分布式部署之分片配置
白发映射你的健康
白发映射你的健康
风景摄影:倒影与映射之美
使用 RESTlet 框架开发符合 JSR311 规范标准的 REST Web Service
在spring 框架中将配置文件分层次配置方法的使用
在 SCA Module 中使用 Hibernate 框架实现数据持久层 - 数据库持久层 - Java技术 - 程序员之家
怎么使用和保养框架眼镜?
为儿女物色对象的理想之地(图文)