`

powerdesigner 生成JAVA类

 
阅读更多

1.对类添加JavaDoc注释

Language->Edit Current Object Language...

Java::Profile/Class/Templates/javaDoc修改代码如下:

 

[%ActualComment%/n/n]/ 
[%@since%/n]/ 
[%@deprecated%/n]/ 
[%@author%/n]/ 
[%@version%/n]/ 
[%@see%/n]/ 
.if (%GenOptions.GenerateOID%) 
[@pdOid %.L:ObjectID%/n]/ 
.endif 
[%@misc%/n]/ 
[%Name%]

2.对本类属性添加注释

Language->Edit Current Object Language...

Java::Profile/Classifier/Templates/attributes修改代码如下:

.foreach_item(Attributes)
   .if ((%@1% == all) or (%Visibility% == %@1%)) and (%Derived% == false)
      .if (%isRoleAMigrated%) 
[%MigratedAssociation.roleAMigrateDefinition%/n]
      .elsif (%isRoleBMigrated%) 
[%MigratedAssociation.roleBMigrateDefinition%/n] 
      .else
//[%Name%] 
[%definition%/n] 
      .endif 
   .endif 
   .next

3.对相关联类添加注释

Language->Edit Current Object Language...

Java::Profile/Association/Templates/roleAMigrateFromAssoc修改代码如下:

.// Migrate from an association
.if (%RoleANavigability%)
   .set_value(_attributeCode, %roleACode%, new)
   .set_object(_association, , new)
   .set_object(_class, ClassB, new)
   .set_value(_migrateAttributeCode, false, new)
   .if (%hasAttribute% == false)
//[%ClassA.Name%]
%roleAMigrateDefinition%
   .endif(/n)
.endif

Language->Edit Current Object Language...

Java::Profile/Association/Templates/roleBMigrateFromAssoc修改代码如下:

.// Migrate from an association
.if (%RoleBNavigability%)
   .set_value(_attributeCode, %roleBCode%, new)
   .set_object(_association, , new)  
   .set_object(_class, ClassA, new)
   .set_value(_migrateAttributeCode, false, new)
   .if (%hasAttribute% == false)
//[%ClassB.Name%]
%roleBMigrateDefinition%
   .endif(/n)
.endif

 

4.在Iterator后加入泛型

Language->Edit Current Object Language...

Java::Profile/Association/Templates/Helpers/Migrate/accessorsMany修改代码如下:

.if (%implInterface%)
.// Get collection
.set_value(_operationName, get%.FU:roleName%, new)
.set_value(_operationSignature, get%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default getter */
public %implInterface% %_operationName%() /
{
   if (%_memberName% == null)
      %_memberName% = new %implClass%();
   return %_memberName%;
}
 .endif(/n/n)
.// Get iterator
.set_value(_operationName, getIterator%.FU:roleName%, new)
.set_value(_operationSignature, getIterator%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default iterator getter */
public java.util.Iterator<%Classifier.qualifiedCode%> %_operationName%() /
{
   if (%_memberName% == null)
      %_memberName% = new %implClass%();
   return %_memberName%.iterator();
}
 .endif(/n/n)
.// Set collection
.set_value(_operationName, set%.FU:roleName%, new)
.set_value(_operationSignature, set%.FU:roleName%@%implInterface%, new)
.set_value(_paramName, new%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default setter
  * @param %_paramName% */
public void %_operationName%(%implInterface% %_paramName%) /
{
   removeAll%.FU:roleName%();
   for (java.util.Iterator<%Classifier.qualifiedCode%> iter = %_paramName%.iterator(); iter.hasNext();)
      add%.FU:roleName%((%Classifier.qualifiedCode%)iter.next());
}
 .endif(/n/n)
.// Add object
.set_value(_operationName, add%.FU:roleName%, new)
.set_value(_operationSignature, add%.FU:roleName%@%Classifier.qualifiedCode%, new)
.set_value(_paramName, new%.FU:Classifier.Code%, new)
.set_value(_memberName, %roleName%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default add
  * @param %_paramName% */
public void %_operationName%(%Classifier.qualifiedCode% %_paramName%) /
{
   if (%_paramName% == null)
      return;
   if (this.%_memberName% == null)
      this.%_memberName% = new %implClass%();
   if (!this.%_memberName%.contains(%_paramName%))/n
  .if (%endNavigability%) and (%endMultiple% == false)
   {
      this.%_memberName%.add(%_paramName%);
      %_paramName%.set%.FU:endRoleName%(this);     
   }
  .elsif (%endNavigability%) and (%endMultiple%) and (%endClassHasImplementation%)
   {
      this.%_memberName%.add(%_paramName%);
      %_paramName%.add%.FU:endRoleName%(this);     
   }
  .else
      this.%_memberName%.add(%_paramName%);
  .endif(/n)
}
 .endif(/n/n)
.// Remove object
.set_value(_operationName, remove%.FU:roleName%, new)
.set_value(_operationSignature, remove%.FU:roleName%@%Classifier.qualifiedCode%, new)
.set_value(_paramName, old%.FU:Classifier.Code%, new)
.set_value(_memberName, %roleName%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default remove
  * @param %_paramName% */
public void %_operationName%(%Classifier.qualifiedCode% %_paramName%) /
{
   if (%_paramName% == null)
      return;
   if (this.%_memberName% != null)
      if (this.%_memberName%.contains(%_paramName%))/n
  .if (%endNavigability%) and (%endMultiple% == false)
      {
         this.%_memberName%.remove(%_paramName%);
         %_paramName%.set%.FU:endRoleName%((%EndClassifier.qualifiedCode%)null);
      }
  .elsif (%endNavigability%) and (%endMultiple%) and (%endClassHasImplementation%)
      {
         this.%_memberName%.remove(%_paramName%);
         %_paramName%.remove%.FU:endRoleName%(this);
      }
  .else
         this.%_memberName%.remove(%_paramName%);
  .endif(/n)    
}
 .endif(/n/n)
.// Remove all objects
.set_value(_operationName, removeAll%.FU:roleName%, new)
.set_value(_operationSignature, removeAll%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
.set_value(_tempObjName, old%.FU:Classifier.Code%, new)
 .if (%endClassHasOperation% == false)
/** @pdGenerated default removeAll */
public void %_operationName%() /
{
   if (%_memberName% != null)/n
  .if (%endNavigability%) and (%endMultiple% == false)
   {
      %Classifier.qualifiedCode% %_tempObjName%;
      for (java.util.Iterator<%Classifier.qualifiedCode%> iter = getIterator%.FU:roleName%(); iter.hasNext();)
      {
         %_tempObjName% = (%Classifier.qualifiedCode%)iter.next();
         iter.remove();
         %_tempObjName%.set%.FU:endRoleName%((%EndClassifier.qualifiedCode%)null);
      }
   }
  .elsif (%endNavigability%) and (%endMultiple%) and (%endClassHasImplementation%)
   {
      %Classifier.qualifiedCode% %_tempObjName%;
      for (java.util.Iterator<%Classifier.qualifiedCode%> iter = getIterator%.FU:roleName%(); iter.hasNext();)
      {
         %_tempObjName% = (%Classifier.qualifiedCode%)iter.next();
         iter.remove();
         %_tempObjName%.remove%.FU:endRoleName%(this);
      }
   }
  .else
      %_memberName%.clear();
  .endif(/n)
}
 .endif(/n)
.else
 .if (%isGenAssocDefaultAccessors%)
.// Default accessors
.// Get array
.set_value(_operationName, get%.FU:roleName%, new)
.set_value(_operationSignature, get%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
  .if (%endClassHasOperation% == false)
/** @pdGenerated default getter */
public %Classifier.qualifiedCode%/[/] %_operationName%() /
{
   return %_memberName%;
}
  .endif(/n/n)
.// Set array
.set_value(_operationName, set%.FU:roleName%, new)
.set_value(_operationSignature, set%.FU:roleName%@%Classifier.qualifiedCode%#, new)
.set_value(_paramName, new%.FU:roleName%, new)
.set_value(_memberName, %roleName%, new)
  .if (%endClassHasOperation% == false)
/** @pdGenerated default setter
  * @param %_paramName% */
public void %_operationName%(%Classifier.qualifiedCode%/[/] %_paramName%) /
{
   this.%_memberName% = %_paramName%;
}
  .endif(/n/n)
 .endif
.endif

 

5.去除pdOid注释

Java::Generation/Options/GenerateOID,Value值设置为No

分享到:
评论

相关推荐

    powerDesigner 导出 JAVA 代码

    powerDesigner 导出 JAVA 代码

    JavaBean实体类 配置文件 代码一键自动生成工具

    代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...

    PowerDesigner与Eclipse同步开发

    1.通过PowerDesigner生成Java源代码,放入Eclipse工程中 1.1 生成工程源代码 1.1.1 生成工程 打开PowerDesigner,New--&gt;Object-Oriented Model,配置如下参数: Mode name:Java(工程名称) Object language:Java 5.0 ...

    PowerDesigner逆向工程

    PowerDesigner逆向工程 PowerDesigner逆向工程 PowerDesigner逆向工程

    JAVA源码 代码一键自动生成工具

    代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...

    代码生成器Mgicode生成器JAVA代码生成器

    采用powerDesigner等进行实体及实体关系的设计 通过Pdm创建数据库 在开发工具中创建搭建项目 通过相关的工具(hibernate tools,myeclipse)生成实体 设计及编写Dao 设计及编写Service 设计及编写Action及...

    软件分析建模与PowerDesigner实现.part1.rar

    10.3 Java的代码生成 第11章 信息流模型及PowerDesigner实现 11.1 ILM基础 11.2 ILM的模型元素 11.3 ILM中映射编辑器的作用 11.4 建立数据转换图 11.5 建立转换控制流图 11.6 生成新的ILM 11.7 ILM的有效性检查 11.8...

    PowerDesigner 常用设置大全

    PowerDesigner 常用设置大全。自己在平时工作中用到的。总结了一下。文件为pdf文档。带书签的。设置方法图文并茂. 设置1:取消Name与Code的联动 设置2:生成SQL的时候,把NAME自动更新到Comment列 设置3:如何去除...

    PowerDesigner学习与交流和PPT

    PowerDesigner12.5是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和实际,以及UML对象建模。通过了元数据的管理、冲突分析和真正的企业知识库等功能。 提供了一个完整...

    pdmHelper2.0 JAVA代码生成器 解析pdm

    1.该软件为可视化界面,操作方便,可以打开pdm文件,可以生成sql,也可以查询数据库,且可以生成 po 、bo、dao等文件(编写模板,可以生成任何语言的代码文件),而且可以编辑模板生成代码(使用方法请见说明文档)。...

    软件分析建模与PowerDesigner实现.rar.part2

    10.3 Java的代码生成 第11章 信息流模型及PowerDesigner实现 11.1 ILM基础 11.2 ILM的模型元素 11.3 ILM中映射编辑器的作用 11.4 建立数据转换图 11.5 建立转换控制流图 11.6 生成新的ILM 11.7 ILM的有效性检查 11.8...

    学生管理系统数据库设计与实现,Java,数据库

    压缩包中包含:学生管理系统源码、数据库sql文件、PowerDesigner生成语句、学生管理系统数据库设计 及 学生管理系统项目文档。 其中文档包括需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库表结构设计...

    pdmHelper2.0 JAVA代码生成器 解析pdm文件 java代码生成器(可以解析pdm文件) GUI界面

    1.该软件为可视化界面,操作方便,可以打开pdm文件,可以生成sql,也可以查询数据库,且可以生成 po 、bo、dao等文件(编写模板,可以生成任何语言的代码文件),而且可以编辑模板生成代码(使用方法请见说明文档)。...

    PdmReader pdm生成说明文档工具

    PdmReader 用于pdm自动生成html和word说明文档,先用powerdesigner生成pdm文件,导入reader中,就可以生成相应文档,简单好用

    powerdesigner12.5培训教程

    PowerDesigner12.5是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和实际,以及UML对象建模。通过了元数据的管理、冲突分析和真正的企业知识库等功能。 提供了一个完整...

    使用PowerDesigner9.5创建Web服务

     PowerDesigner9.5同时针对Microsoft.NET和Java引入了完善的Web服务设计和生成机制。使用PowerDesigner9.5,您可以专注于Web服务的设计,而将所有必需的生成、实现构造的任务交给PowerDesigner完成。 Web服务概述...

    JAVA项目过程

    1、检查开发机器中是否安装有jdk(java...3、进入navicatformysql界面,进行数据库连接测试,测试成功后创建数据库(在powerdesigner中生成的可运行sql脚本)。 4、创建工作空间文件夹,即存放工程源代码的文件夹。 ...

    软件分析建模与PowerDesigner实现.rar.part3

    10.3 Java的代码生成 第11章 信息流模型及PowerDesigner实现 11.1 ILM基础 11.2 ILM的模型元素 11.3 ILM中映射编辑器的作用 11.4 建立数据转换图 11.5 建立转换控制流图 11.6 生成新的ILM 11.7 ILM的有效性检查 11.8...

    业务层代码自动生成工具

    可以读取PowerDesigner的PDB文件,自动生成“增删改查”,可单独生成,可一键生成全部; 可以读取数据库,自动生成各种方法; (读取PD文件,可自动生成注释) PS:如有需求,可另定做。 在开发中很方便实用。

    pdmHelper图片 swing做的代码生成器

    还可以根据模板生成和语言无关的po、bo、dao层代码。目前有JAVA、C#2中语言。并且有详细的说明文档。 该工具是powerDesigner助手工具,具有强大的查找功能:可以更好的查找表或列功能。还有其它好多功能暂时不介绍...

Global site tag (gtag.js) - Google Analytics