使用PowerDesigner功能简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对于很多使用过PowerDesigner的人来讲,他们使用PowerDesigner就是使用它来进行数据库物理建模,创建数据库表对象、建立表与表之间的关联关系、创建索引,最后,使用PowerDesigner的Generate DataBase功能生成数据库的DDL语句,最后,将这些DDL语句使用数据库工具进行导入。
使用再高级一点的话,我们还可以创建数据源,并在PowerDesigner建立与数据源的连接后,最后,直接通过Generate DataBase的ODBC Generation功能直接在数据库当中建表、建外键、建约束、建索引等数据库对象。
PowerDesigner对很多很多应用服务器,外部工具,开源框架有着很好的支持,这个是PowerDesigner 的最大优势。
默认情况下,这些扩展模块都没有启用,我们可以使用Extended Model来启用相应的模块支持,比如Hibernate。
这篇文章将使用Object-Oriented Model结合Physical Data Model,并启用Hibernate Extended Model来进行建模,并最终生成相应的Java代码、Hiberante配置文件和映射文件、DataBase DDL语句等。
首先:我们先创建新的Object-Oritented Model,将Object Language选项当中Java,First diagram选择为Class Diagram,如下图所示:
配置完后,点击Extended Model Definitions面板,在扩展的模型当中选择Hiberante,最后点击确定按钮,如下图所示:
第二,在Class Diagram当中创建一个新的Package,取名为zizz,并进入zizz package当中的Class Diagram,创建新的Class,新的Class名为User,并在User当中创建新的attribute,如下图所示:
第三,创建新的Physical Data Model,创建可以有两种方式:第一种是通过File-->New创建新的Physical Data Model;第二种是通过PowerDesigner提供的Model Transfer功能,将Class Diagram Model转化为Physical Data Model,以下图表显示出PowerDesigner当中Model的关联关系:
第一种方式:点击File-->New,在弹出的对话框当中选择Physical Data Model,选择相应的数据库,本次采用的是Oracle 10g数据库,最后点击确定,如下图所示:
接着,在Physical Diagram当中创建新的数据库表,表名为:T_USRE,表列的描述如下图所示:
第二种方式是使用PowerDesigner的Model Transfer功能,将Object-Oriented Model转化为Physical Data Model。
点击Tools-->Generate Physical Data Model菜单,在弹出的对话框当中选择相应的数据库。
如下图所示:
PowerDesigner将会自动为我们创建一个新的Physical Data Model,并且,自动创建了一张名为User的表,并且自动创建列。
创建结果如下图所示:
创建完之后,我们应该按照我们的命令规范对我们的表名、列名做相应的修改,最后,还要将数据精度做一下调整。
PowerDesigner的Model Transfer功能非常强大,它不仅能够帮我们创建一个新的数据库物理数据模型,还可以帮我们更新相应的数据库物理模型。
本次将使用第一种创建Physical Data Model的方式。
第四,打开Class Diagram视图,双击User Class,将弹出如下对话框
点右右下角的More,将所有标签页显示出来,在标签页当中选择Mapping,如下图所示:
点击创建按钮图标,创建新的数据源(这里指的数据源即新建的数据库物理数据模型),弹出的对数据源创建向导话框,在对话框当中的Data Source输入任意的名称,如你的项目名称,如下图所示:
点击“下一步”按钮,在弹出的对话框当中选择我们创建的Physical Data Model,接着,点击“完成”按钮,如下图所示。
点击完成按钮后,将弹出如下对话框,在对话框当中选择User对象的Mapping表格,最后点击“确定”按钮。
在新的Mapping当中,我们可以看到,对象User将会Mapping到T_USER表。
那数据库列应该怎么进行映射呢?假如数据库的列名跟对象的属性名一致,那我们可以不需要进行列的配置,因为Hibernate 本身就可以支持这一点,那如果列不一致呢?那我们应该怎么办?在powerdesigner配置可以有两种方
式,第一种,通过attribute mapping进行映射,如下图所示:
第二种是通过Mapping Editor来建立数据库列与类属性之间的映射。
点击:tools-->Mapping Editor,将弹出如下的对话框:
选择某一列,从左边拉到右边的指定列,将自动建立列与属性的关联关系,最后点击确定“按钮”。
如下图所示:
最后,我们可以从Mapping当中看到数据库列与类属性的映射关系。
如下图所示
第五,生成代码。
点击Language-->Generate Java Code生成Java代码。
在弹出的对话框Option 标签当中选择需要生成的类型及在Generated Files选择生成的代码,将可以自动生成代码,如下图所示:
用PowerDesigner生成Hibernate映射文件的步骤
执行:New->Conceptual Data Model
编译完概念模型后
执行:Tools->Generate Physical Data Model
再选择生成的物理数据模型
执行:Tools->Generate Object-Oriented Model
在对话框中,选择Dtail,勾选O/R Mapping,点击Enable Transformations,在多出来的选项卡Extended Model Definitions中的O/R Mapping页中选择Hibernate。
生成完面向对象模型后
再执行:Language->Generate Java Code
就会看见生成的JAVA代码和映射HBM.XML文件。