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 代码
代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...
1.通过PowerDesigner生成Java源代码,放入Eclipse工程中 1.1 生成工程源代码 1.1.1 生成工程 打开PowerDesigner,New-->Object-Oriented Model,配置如下参数: Mode name:Java(工程名称) Object language:Java 5.0 ...
PowerDesigner逆向工程 PowerDesigner逆向工程 PowerDesigner逆向工程
代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...
采用powerDesigner等进行实体及实体关系的设计 通过Pdm创建数据库 在开发工具中创建搭建项目 通过相关的工具(hibernate tools,myeclipse)生成实体 设计及编写Dao 设计及编写Service 设计及编写Action及...
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 常用设置大全。自己在平时工作中用到的。总结了一下。文件为pdf文档。带书签的。设置方法图文并茂. 设置1:取消Name与Code的联动 设置2:生成SQL的时候,把NAME自动更新到Comment列 设置3:如何去除...
PowerDesigner12.5是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和实际,以及UML对象建模。通过了元数据的管理、冲突分析和真正的企业知识库等功能。 提供了一个完整...
1.该软件为可视化界面,操作方便,可以打开pdm文件,可以生成sql,也可以查询数据库,且可以生成 po 、bo、dao等文件(编写模板,可以生成任何语言的代码文件),而且可以编辑模板生成代码(使用方法请见说明文档)。...
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...
压缩包中包含:学生管理系统源码、数据库sql文件、PowerDesigner生成语句、学生管理系统数据库设计 及 学生管理系统项目文档。 其中文档包括需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库表结构设计...
1.该软件为可视化界面,操作方便,可以打开pdm文件,可以生成sql,也可以查询数据库,且可以生成 po 、bo、dao等文件(编写模板,可以生成任何语言的代码文件),而且可以编辑模板生成代码(使用方法请见说明文档)。...
PdmReader 用于pdm自动生成html和word说明文档,先用powerdesigner生成pdm文件,导入reader中,就可以生成相应文档,简单好用
PowerDesigner12.5是一个集所有现代建模技术于一身的完整工具,它集成了强有力的业务建模技术、传统的数据库分析和实际,以及UML对象建模。通过了元数据的管理、冲突分析和真正的企业知识库等功能。 提供了一个完整...
PowerDesigner9.5同时针对Microsoft.NET和Java引入了完善的Web服务设计和生成机制。使用PowerDesigner9.5,您可以专注于Web服务的设计,而将所有必需的生成、实现构造的任务交给PowerDesigner完成。 Web服务概述...
1、检查开发机器中是否安装有jdk(java...3、进入navicatformysql界面,进行数据库连接测试,测试成功后创建数据库(在powerdesigner中生成的可运行sql脚本)。 4、创建工作空间文件夹,即存放工程源代码的文件夹。 ...
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:如有需求,可另定做。 在开发中很方便实用。
还可以根据模板生成和语言无关的po、bo、dao层代码。目前有JAVA、C#2中语言。并且有详细的说明文档。 该工具是powerDesigner助手工具,具有强大的查找功能:可以更好的查找表或列功能。还有其它好多功能暂时不介绍...