Morphia开发简介.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Morphia开发简介

Morphia开发简介什么是MorphiaMorphia是一个开放源代码的对象关系映射框架,它对MongoDB数据库 java版驱动进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵MongoDB数据库,也让Java程序员可以从复杂数据库设计中脱离出来,从而将更多的精力投入到业务逻辑中去。Morphia是一个轻量级的类型安全的Java对象to/from?MongoDB?库,具有以下特征:它易于使用,而且非常轻巧 ,每种类型使用一次反射。数据存储(DataStore) 和?/p/morphia/wiki/DAOSupportDAOT,V?访问抽象,或自己实现...使用运行时验证的类型安全 (Type-safe)和 Fluent 查询(/p/morphia/wiki/QueryQuery) 支持基于注解的行为映射,无XML文件扩展 :?/p/morphia/wiki/ValidationExtensionValidation(jsr303)?,以及SLF4J日志生命周期方法/事件(Lifecycle Method/Event) 支持可与Guice、Spring和其它DI框架很好整合或协作很多扩展点(新的注解,转换器,行为映射,日志等)不存储Null/Empty值(默认)GWT支持(实体仅为POJO) - (GWT忽略注释)允许原始类型、void toObject(DBObject) 或 DBObject?fromObject(Object)?fromObject的高级映射器Morphia开发环境配置首先,从/p/morphia/downloads/list/p/morphia/downloads/list下载Morphia开发包,最新版为morphia-0.99.jar,然后从/downloads/downloads 下载MongoDB数据库 java版驱动最新版为mongo-2.7.2.jar,直接将这两个jar包include到项目中即可,当然在程序的运行前应保证MongoDB数据库后台服务进程已经启动。(MongoDB数据库的具体安装使用请参考其它相关资料),要求使用Java SE 5或更高版本。Morphia 中Java 注释使用Morphia使用Java注释的特性来描述Java对象如何被持久化到MongoDB数据库中去。以下是Morphia比较常用的注释。@Id@Id?注释指示 Morphia 哪个字段用作文档 ID。如果试图持久保存对象(其?@Id?注释的字段为 null),则 Morphia 会自动生成 ID 值。@Entity @Entity?注释是必需的。其声明了在专用MongoDB集合上该类作为文档将持久保存。在默认情况下,Morphia 使用类名称来命名集合。@Embedded@Embedded 注释说明 Morphia将此对象实例嵌入到另一个对象中去。而不单独的放到一个MongoDB 集合。@Reference?@Reference?注释说明对象是对另外一个集合中的文档的引用。在从 MongoDB 集合中加载对象时,Morphia 遵循着这些引用来建立对象关系。 @Indexed 类属性标记@Indexed注释, 表明为此属性增加索引。@Property类属性标记@ Property注释, 表明为此属性在MongoDB数据库取一个别名。@Transient类属性标记@Transient注释则表明这个字段将不被持久化到数据库。Morphia编程模型 本节上通过定义一个简单的类以及一些操作代码片段来说明Morphia功能的编程模型,使得我们可以从总体上了解Morphia开发。定义被持久类@Entityclass MyEntity {@Id ObjectId id;String name;}初始化morphiaMongo mongo = new Mongo(localhost);//连接到本地mongoDB数据库Morphia morphia = new Morphia();morphia.mapPackage(MyEntity);//告诉Morphia映射哪些类Datastore ds = morphia.createDatastore(mongo ,myDB);//创建名为“myDB”数据库,mongo最好使用单实例模式ds.ensureIndexes(); //在标记为@Id的类属性上创建索引ds.ensureCaps(); //设置默认的mongoDB集合容量保存被持久化类MyEntity e = ...;ds.save(e);//将MyEntity对象持久化到mongoDB数据库中查询MyEntity e =ds.find(MyEntity.class).get();//

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档