- 浏览: 1223039 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (883)
- Spring (101)
- Swing (1)
- Mysql (21)
- Js (59)
- Jsp (2)
- Hibernate (19)
- Myeclipse (5)
- SqlServer 2000 (2)
- poi (15)
- Java (70)
- SSH (12)
- Html (47)
- Fusion Charts (1)
- C\C++ (2)
- 汇编 (36)
- Jquery (37)
- Struts2 (6)
- Ubuntu (16)
- powerDesinger (4)
- Jboss (3)
- JAX-RS (13)
- JAXB (5)
- JAX-WS (11)
- JMS (4)
- WebSocket (8)
- PHP (16)
- Flash (1)
- maven (3)
- Oracle (8)
- HttpClient (6)
- sqlserver (19)
- svn (5)
- Tomcat (3)
- Jdbc (3)
- EsayUi (11)
- 微信公众平台 (19)
- IIS (2)
- Freemarker (11)
- Comet (1)
- Spring MVC (85)
- JBoss Seam (3)
- 二维码 (9)
- Spring Security (4)
- Ehcache (3)
- Apache Shiro (7)
- jackson (16)
- JPA (8)
- jcaptcha (2)
- RSA (2)
- Ajax (6)
- 跟我学Shiro (0)
- Spring4 (19)
- 跟我学spring3 (0)
- css (32)
- excel (4)
- Filter (3)
- 微信公众帐号开发教程 (0)
- Android (6)
- log4j (6)
- 淘宝接口 (17)
- 支付集成 (3)
- 单点登录 (3)
- Html5 (27)
- 移动平台前端 (3)
- Linux (44)
- FusionCharts (27)
- Json Jackson Xml (5)
- 方培工作室-微信开发 (0)
- Apache与Tomcat与IIS整合 (10)
- Nginx (17)
- webService (2)
- apache (4)
- lucene (3)
- lodop (2)
- Shiro (3)
- zTree (2)
- ireport (12)
- Servlet3.0 (5)
- 前端美工 (19)
- AngularJS (1)
- C#开发微信门户及应用 (0)
- Shell (3)
- bat脚本 (16)
- Bootstrap (26)
- Less (10)
- photoshop (6)
- Redis (6)
- Mongodb (10)
- MyBatis (3)
- 数据结构 (0)
- 读写分离-主从复制 (0)
- JFinal (0)
- 百度地图api (3)
- hadoop-hbase-hive-spark (3)
- WebStorm (2)
- Quartz (5)
- ios (0)
- Mina (8)
- Android Studio (4)
- Ratchet教程 (0)
- 移动端重构系列 (1)
- cubic-bezier贝塞尔曲线CSS3动画工具 (1)
- nginx+tomcat+memcached集群 (0)
- 集群 (0)
- ZooKeeper (3)
- Dubbo (0)
- vpn (0)
- kafka (0)
- JVM垃圾回收机制 (0)
- 微信小程序 (0)
- Lua (0)
- Hystrix (0)
- Vue.js (0)
- mycat (0)
- Openresty (0)
- springBoot (0)
- 新分类 (0)
- guava (0)
- 大数据 (0)
- Sentinel (0)
最新评论
-
JackMacing:
中文怎么解决?
SpringMVC与iReport(JasperReports) 5.6整合开发实例 -
18335864773:
用pageoffice把.可以实现在线的文档操作.直接转pdf ...
转:使用jasperreport动态生成pdf,excel,html -
linhao0907:
推荐一款轻量开源的支付宝组件:https://github.c ...
关于Alipay支付宝接口(Java版) -
songronghu:
太好了,非常有用,谢谢分享~
Java ConcurrentModificationException 异常分析与解决方案 -
wzwahl36:
http://www.atool.org/json2javab ...
Java下利用Jackson进行JSON解析和序列化
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
相关推荐
生成JAVA代码 最后,我们执行JAVA代码的生成操作: - **点击工具栏:“Language”>“Generate Java Code”**:弹出代码生成面板。 - **勾选“Check model”**:激活模型检查功能,可以检测类图中存在的语法问题,...
在这个过程中,我们将重点讨论如何配置 Powerdesigner 以支持 Eclipse 和 Hibernate,并生成数据库和 Java 代码。 首先,我们需要了解如何使用 Powerdesigner 创建数据库模型,即 Object-Oriented Model (OOM)。在 ...
2. **代码生成**:基于UML模型,PowerDesigner可以生成Hibernate持久化类(POJOs)、映射文件(.hbm.xml)和配置文件(.cfg.xml)。这一过程遵循一定的规则,例如子类的映射信息通常被挂载在根类的映射文件下,而非...
### PowerDesigner在《Java程序设计》中的应用 #### 摘要 在当前教育背景下,《Java程序设计》作为计算机科学领域的重要组成部分,不仅承载着理论知识的教学任务,更需要注重培养学生实际操作能力和解决复杂问题的...
6. **代码生成**:可生成应用程序的源代码,如Java、C#等。 ### 三、模型操作 - **实体(Entity)**:表示业务对象,如用户、订单等,具有属性(Attribute)和关系(Relationship)。 - **属性(Attribute)**:...
代码一键自动生成工具 可生成Action、JavaBean实体类、Dao及实现类、service及实现类、spring.xml、struts.xml、mybatis.xml *该工具目前支持3种数据源的生成方式,分别是:JDBC、.table、PDM *JDBC:选择JDBC是只...
PowerDesigner支持自动生成数据库访问层代码,逆向工程后的模型可以直接用于生成符合特定编程语言的DAO层代码。 综上所述,PowerDesigner逆向工程是一个强大且实用的功能,对于数据库开发者和管理员来说,它能够...
PowerDesigner 反向数据库结构生成 ER 图 PowerDesigner 是一个功能强大且灵活的数据建模工具,可以对数据库进行反向工程,生成 ER 图。本文档将指导您如何使用 PowerDesigner 反向数据库结构,生成 ER 图。 概念...
以自动生成Java实体类为例,我们可以编写一个插件,从PowerDesigner的模型中读取表结构,然后生成对应的Java Bean代码。这个过程中,我们需要解析模型中的对象,获取表名、字段名、数据类型等信息,再利用Java的模板...
此外,它还能根据数据模型生成数据库访问代码,例如Java的JDBC代码,加速开发进程。 五、性能分析 在物理数据模型阶段,PowerDesigner提供了性能分析器,可以模拟数据查询,预测数据库在实际运行中的性能,帮助优化...
OOM可以用于纯面向对象的设计,也可以生成Java文件或PowerBuilder文件;同时,OOM中的对象还可以转换为PDM中的元素,用于关系数据库的设计分析。 - **业务过程模型(BPM)**: 描述业务的不同任务和流程,以及它们之间...
#### 一、通过PowerDesigner生成Java源代码,并将其导入到Eclipse项目中 在本部分中,我们将探讨如何利用PowerDesigner为Eclipse项目生成Java源代码。这一过程分为几个步骤,从创建模型开始直至最终生成代码。 ###...
MyBatis Generator(MBG)是一个强大的工具,它可以自动从数据库中读取表信息,然后生成Java源代码,这些源代码包括了实体类、Mapper接口和XML配置文件,以及DAO实现类。这极大地减少了开发者的工作量,使他们能更...
PowerDesigner是一款强大的数据库建模工具,它也支持创建面向对象模型。面向对象模型是一种软件设计方法,通过...同时,通过源代码的生成,PowerDesigner能够将这些模型直接转化为可执行的代码,极大地提高了开发效率。
- **多语言支持**:能够根据OOM自动生成Java、PowerBuilder、XML、C++、Visual Basic等多种编程语言的源代码。 - **数据模型生成**:不仅能够生成概念数据模型(CDM)、物理数据模型(PDM),还能从OOM中生成相应的对象...
同时,它还支持生成数据库访问层的代码,适用于多种编程语言,如Java、C#等,加速应用程序的开发。 8. **版本控制与团队协作** PowerDesigner支持版本控制,可以与其他团队成员协同工作,跟踪和合并模型的变更,...
3. **正向工程**:根据设计的模型,PowerDesigner可以生成数据库脚本,创建实际的数据库结构。 4. **数据流建模**:除了数据库建模,它还支持业务过程建模,如数据流图(DFD),帮助分析和设计业务流程。 5. **...
采用powerDesigner等进行实体及实体关系的设计 通过Pdm创建数据库 在开发工具中创建搭建项目 通过相关的工具(hibernate tools,myeclipse)生成实体 设计及编写Dao 设计及编写Service 设计及编写Action及...
7. **代码生成器(Code Generation)**:PowerDesigner可以自动生成数据库脚本、Java、C#等编程语言的源代码,大大提高了开发效率。 8. **变更管理(Change Management)**:在团队协作环境中,PowerDesigner的版本...