使用PowerDesigner功能简介

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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文件

相关文档
最新文档