设为首页 加入收藏

TOP

使用EMF建立模型并生成Java代码
2014-11-24 12:18:53 来源: 作者: 【 】 浏览:2
Tags:使用 EMF 建立 模型 生成 Java 代码

EMF实际上定义了2种meta model,分别称为Ecore和Genmodel。Ecore包含了模型的定义,我们在创建EMF模型的时候,也是通过新建和编辑Ecore文件来进行。Genmodel包含了自动生成Java代码(模型的POJO类)的信息,比如怎样生成POJO,生成的POJO放到哪里。当对Ecore进行修改时,Genmodel自动获得更新。




创建一个EMF项目(或者plugin项目也可),然后建立一个Ecore模型。






打开Properties视图,自行定义model的名称,namespace prefix,以及namespace url。






右键点击新建好的csdn模型,添加child。


child有5种支持类型。


EAnnotation是与Teneo结合,用作和hibernate以及数据库schema之间的mapping;


EClass是指模型里面的一个类;


EData Type代表数据的类型,比如int,float,或者java.util.Date






笔者创建了一个叫Blog的EClass,通过Properties视图可以修改这个EClass的属性,通过右击Blog,可以添加新的child或者sibling。


其中EReference是一个指向其他EClass的链接,比如可以用来定义Blog类中包含的类成员变量,或者可以理解为数据库中的foreign key。








在Ecore创建完成后,新建一个genmodel (EMF Generator Model),在“New EMF Generator Model”这一步选择Ecore model






选择刚才建立的csdn.ecore,然后点击Load








点击Finish后,genmodel生成完毕。




在Properties视图中可以配置genmodel,比如Base Package可以定义将生成的代码放到哪个路径底下。






右击生成的genmodel,可以选择生成各种代码,其中“Generate Model Code”会生成模型类和其他相关Java类。






生成的Java代码分为3个包,model.csdn,model.csdn.impl,model.csdn.util。


model包里面主要有所有EClass的接口文件(所有接口均继承自EObject,因此所有的EClass都是EObject的子类),以及非常重要的Factory文件(用来创建EClass文件的实例,Factory类的eInstance.createXXX()方法是创建实例的唯一方法);


model.impl包里面主要是model包中接口文件的具体类;


model.util包里面有AdapterFactory。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇为什么要使用EMF 下一篇Windows XP+MyEclipse 8.5配置And..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·用 Python 进行数据 (2025-12-25 15:49:09)
·如何学习Python数据 (2025-12-25 15:49:07)
·利用Python进行数据 (2025-12-25 15:49:04)
·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)