java类图逆向自动生成
Eclipse使用Hibernate Tools逆向生成实体类并解决乱码问题

使用Hibernate Tools逆向生成实体类并解决乱码问题1Eclipse安装配置1.1安装hibernate tools插件首先要看清楚Eclipse版本,然后找到对应Eclipse版本的hibernate tools插件。
如Eclipse Luna (4.4.2)则找到/jbosstools/updates/stable/luna/下载对应的hibernate tools插件,避免安装错误。
打开eclipse,选择“Help”->“安装新软件”->”Add” 输入网址:/jbosstools/updates/stable/luna/从下拉框里找到hibernate tools插件,也可同时选择其他所需要的插件,逐步安装即可。
1.2新建所要生成VO实体类的工程完成后修改工程的build path,加入从Eclipse的hibernate plugins里找到对应jar包,如下:2配置Hibernate Tools2.1Hibernate Configuration File(cfg.xml)保存在工程的src目录下即可,然后下一步:在这里可以选择Hibernate版本。
在配置数据库连接信息时需要注意:Driver class选择用com.mysql.jdbc.Driver;在Connection URL后面加入Unicode连接参数:jdbc:mysql://127.0.0.1 /test?useUnicode=true&characterEncoding=UTF-8&useInformationSchema=true。
这里可以选择同时生成Console Configuration,也可以后面手工生成。
2.2Hibernate Console Configuration打开配置界面如下:在Common标签页面里记得选择“UTF-8”编码。
可以在控制台看到数据库的数据表了。
java代码逆向工程生成uml

java代码逆向⼯程⽣成uml1、模型开发⼯具(MDT)提供了⼀些⽰范性⼯具,在元模型的基础上的发展模式。
它⽀持创建UML图,从代码的逆向⼯程到UML图等等。
2、ArgoUML是⼀个领先的开源UML模型⼯具,它⽀持UML 1.4的所有标准,可以运⾏于任何Java平台上。
3、ModelGoon是⼀个Java包的依赖分析的Eclipse插件,⽤来显⽰项⽬中Java包与包之间的依赖关系,如下图所⽰:4、Green是Eclipse的⼀个插件,是⼀种先进的还简单的UML类图的⼯具,主要学⽣开发使⽤。
它是live round-tripping编辑器,因此可以很容易地从⼀个UML类图⽣成Java代码。
它有很好的可扩展性。
5、Minjava是⼀个Java反向⼯程软件,可帮助理解已存在⼀些Java软件的架构和⾏为。
6、AmaterasUML可以对⼤⼯程的⽀持,上⾯所列的⼀些插件像Green,貌似不⽀持⼤⼯程,如果出现⼤的⼯程⽂件,通常会出现崩溃的情况,⽽且形成的整个UML图显得混乱⽆⽐。
由于我在eclipse上看源码,所以,装了两个适⽤于eclipse的插件,Green和AmaterasUML,下⾯简单谈谈安装和使⽤感受。
1、Green安装和使⽤安装有在线和离线安装,离线就是下载Green安装包,然后将⾥⾯的插件copy到eclipse的插件⽂件夹下即可,这种⽅法现在已经不适⽤了,其官⽹上是这么说的:所以,按照它的说法,使⽤在线安装就好了,注意:在装之前需要安装GEF插件,新版的eclipse貌似已经安装,4.0版本之前的需要⼿动安装。
安装好之后,重启,在任何类名上右击可以看见相关选项:Green UML,点击即可获得相关类的UML图:如下的显⽰效果:2、AmaterasUML的安装于使⽤下⾯是其显⽰效果,可以直接拖拽,如何拖拽,间上⾯的官⽹链接。
下⾯是⽹友遇到的问题,也许你也会遇到,先记下:。
Java——mybatis逆向工程生成实体类

Java——mybatis逆向⼯程⽣成实体类前⾔先赞后看,此⽣必赚!有时候,我们创建实体类需要跟数据库表⾥⾯的字段对应起来。
假如⼀张表有数百个字段,那么⼿动去写实体类的话就⽐较⿇烦,⽽且容易出错。
解决⽅案其实解决这个问题的⽅式有很多,本⽂介绍其中⼀种解决⽅案,通过mybatis的逆向⼯程⽣成实体类。
本⽂使⽤的数据库是Oracle,MySQL只需要修改jar包以及generator.properties配置即可。
可以从公众号【程序员⾼⼿之路】回复“逆向⼯程”免费获取源码!Step1 修改pom⽂件<dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency>点击并拖拽以移动<plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.5</version><configuration><verbose>true</verbose><overwrite>true</overwrite></configuration></plugin>Step2 添加配置⽂件2.1 generator.propertiesjdbc.driverLocation=src/main/resources/lib/ojdbc8-12.2.0.1.jarjdbc.orai18n=src/main/resources/lib/orai18n-21.1.0.0.jarjdbc.driverClass=oracle.jdbc.OracleDriverjdbc.connectionURL=jdbc:oracle:thin:@192.168.1.1:1521:orclerId=testjdbc.password=test2.2 generatorConfig.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-////DTD MyBatis Generator Configuration 1.0//EN""/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><properties resource="generator.properties"></properties><classPathEntry location="${jdbc.driverLocation}"/><classPathEntry location="${jdbc.orai18n}"/><context id="oracleTables" targetRuntime="MyBatis3"><plugin type="org.mybatis.generator.plugins.SerializablePlugin"></plugin><commentGenerator><!-- 是否去除⾃动⽣成的注释 --><property name="suppressAllComments" value="true"/></commentGenerator><jdbcConnectiondriverClass="${jdbc.driverClass}"connectionURL="${jdbc.connectionURL}"userId="${erId}"password="${jdbc.password}"></jdbcConnection><javaTypeResolver><property name="forceBigDecimals" value="true"/></javaTypeResolver><javaModelGenerator targetPackage="com.han.model" targetProject="src\main\java"><!-- enableSubPackages:是否让schema作为包的后缀 --><property name="enableSubPackages" value="false"/><!-- 从数据库返回的值被清理前后的空格 --><property name="trimStrings" value="true"/></javaModelGenerator><sqlMapGenerator targetPackage="com.han.mapper" targetProject="src\main\java"><property name="enableSubPackages" value="true"/></sqlMapGenerator><javaClientGenerator type="XMLMAPPER" targetPackage="com.han.mapper" targetProject="src\main\java"> <property name="enableSubPackages" value="false"/></javaClientGenerator><!--数据库表--><table schema="" tableName="JC_DIC_JGGL"></table><table tableName="JC_DIC_JGGL"enableCountByExample="true"enableUpdateByExample="true"enableDeleteByExample="true"enableSelectByExample="true"selectByExampleQueryId="true"></table><!-- 有些表的字段需要指定java类型<table schema="DRG" tableName="JC_DIC_JGGL" domainObjectName="Customer" ><property name="useActualColumnNames" value="true"/><generatedKey column="ID" sqlStatement="DB2" identity="true" /><columnOverride column="DATE_FIELD" property="startDate" /><ignoreColumn column="FRED" /><columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /></table> --></context></generatorConfiguration>Step3 IDEA中新增运⾏配置填写配置:mybatis-generator:generate运⾏第三步的配置就⾏了。
StarUML使用说明-指导手册

StarUML使用说明-指导手册原著:Stephen Wong 翻译:火猴1.综述StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。
这是一个用Java语言描述的创建类图的简明手册。
StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”的工具。
SU也可以做JAVA逆向工程,以产生相应的UML图表。
在本教程中,我们将使用SU设计一个pizza饼。
执行下列步骤,可以创建如下面所示的UML图。
SU可以生成反映类结构的代码,而不是任何对象的具体行动。
因此,在使用SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种方法本来应该做的事。
2.安装首先,我们必须先安装将要使用的软件。
StarUML ,是一个开放源码软件,遵循GPL协议许可(GNU公共许可证),并免费提供下载。
3.启动安装以后就可以启动该程序。
4.添加新工程然后,一个名叫:New Project By Approach的对话框会弹出。
选择“Empty Project”并且按下"确定"。
这里建议你不要勾选"设置为默认的做法" 复选框。
5.选择模块在右边的“Model Explorer”框中选定“Untitled”模块。
6.添加模块通过“Model”主菜单,或右击选定的模型,可以" Add/Design Model "7.添加类图通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:8.设置profile通过“Model/Profile...”菜单去设置工程所需的profile。
这决定了工程所使用的规则和约定。
一定要包含"JAVA Porfile"这一项目。
9.保存工程立即就保存工程,这样在出现问题的时候,您就不会丢失信息。
从“File ”菜单,选择“Save”,并选择一个地方以保存工程。
Rational从Java代码逆向工程生成UML类图和序列图

从 Java 代码逆向工程生成 UML 类图和序列图本文面向于那些软件架构师,设计师和开发人员,他们想使用 IBM® Rational® Software Architect 从Java™ 源代码来逆向工程生成 UML 类和序列图。
逆向工程经常被用来从已有的源代码中以一种抽象模型 UML 格式来获得丢失的设计文档,其可以用来研究一个系统的静态结构和动态行为,并用于扩展新的特性到产品。
作者详细说明了使用IBM Rational Software Architect 进行逆向工程的限制,并阐述了克服这些限制的技术。
您将从使用这些技术技巧和窍门中受益,以识别组件,并从Java类中产生像 UML 类和序列图这样的高层抽象。
软件结构师、开发人员及测试人员都熟知统一建模语言(UML),该语言适用于文档化用例、类图、序列图和其他图表。
也可以通过其他许多软件辅助工具来帮助软件工程师来完成这些工作,或者是正向工程或者是逆向工程的。
•正向工程是对一个系统物理结构实现的高层抽象性、逻辑性及独立性设计的传统处理过程。
•逆向工程是对一个已存在系统的分析处理,以鉴别它的组成部分及它们的内在联系,从而以高层抽象性来构建一个系统的框架。
在大多数情况下,逆向工程用于以抽象的模型 UML 格式从已存在的源代码中,提取已丢失的设计文件,从而同时可得知一个系统的静态结构及动态行为。
类及序列图问题的实质IBM® Rational® Software Architect 在很多工业中得以广泛采用,因为它提供了很多的特性以帮助逆向工程师。
问题是当您以Java™ 代码逆向构建 UML 类及序列图时,Rational Software Architect 不能自动地产生有用的 UML 类及序列图。
但是已经存在改善 Rational Software Architect 输出产物的技术。
本篇文章论证了怎样使用这里介绍的技术技巧,从 Java 代码中识别其组成部分及对 UML 种类和序列图进行高层的抽象。
startuml使用简介[技巧]
![startuml使用简介[技巧]](https://img.taocdn.com/s3/m/4a18e07fa55177232f60ddccda38376baf1fe01b.png)
1.综述:StarUML是一种生成类图和其他类型的统一建模语言(UML)图表的工具。
这是一个用Java语言描述的创建类图的简明手册。
StarUML(简称SU),是一种创建UML类图,并能够自动生成Java的“stub code”的工具。
SU也可以做JAVA逆向工程,以产生相应的UML图表。
在本教程中,我们将使用SU设计一个pizza饼。
执行下列步骤,可以创建如下面所示的UML图。
SU可以生成反映类结构的代码,而不是任何对象的具体行动。
因此,在使用SU创建图表后,你会为此stub code添加剩余的功能性代码,填写每种方法本来应该做的事。
2.安装:首先,我们必须先安装将要使用的软件。
StarUML ,是一个开放源码软件,遵循GPL协议许可(GNU公共许可证),并免费提供下载。
3.启动安装以后就可以启动该程序。
4.添加新工程然后,一个名叫:New Project By Approach的对话框会弹出。
选择“Empty Project”并且按下"确定"。
这里建议你不要勾选"设置为默认的做法" 复选框。
5.选择模块在右边的“Model Explorer”框中选定“Untitled”模块。
6.添加模块通过“Model”主菜单,或右击选定的模型,可以" Add/Design Model "7.添加类图通过“Model”主菜单,或右击选定模型,可以“Add Diagram/Class Diagram”:8.设置profile通过“Model/Profile...”菜单去设置工程所需的profile。
这决定了工程所使用的规则和约定。
一定要包含"JAVA Porfile"这一项目。
9.保存工程立即就保存工程,这样在出现问题的时候,您就不会丢失信息。
从“File ”菜单,选择“Save”,并选择一个地方以保存工程。
你的StarUML 项目现在应该看起来的是这样的:10.创造图表现在,开始真正创造图表,从默认就在屏幕的左边的“Toolbox”选择“类”图标,然后左键单击diagram窗口的某处。
java类图逆向自动生成

java类图逆向自动生成
怎么使用PowerDesigner软件逆向生成
java类图
工具/原料
PC电脑
PowerDesigner软件
方法/步骤
1. 打开PowerDesiger软件,点击文件->建立新模型,新建Obect-Oriented Model
2. 点击语言->Reverse Engineer Java,弹出反向生成类图设置窗口
3. 在反向生成类图设置窗口中,选择Reverse Engineer,可以选择Java Files
或Java Directories等,在这里我选择Java Directories
4. 然后点击Add按钮添加目录,在这里我选择一个java源文件目录
5. 5
点击确定,PowerDesigner会显示生成进度窗口,完成以后在PowerDesigner 工作空间下会显示类图目录结构
6. 6
到此便将选中的Java目录下的Java类文件生成了静态类结构,例如:点击controller.admin命名空间,可以看到类图结构
END。
总结一下java如何进行逆向工程

总结⼀下java如何进⾏逆向⼯程第⼀步在百度搜索Mybatis generator 在官⽹进⾏搜索并且找到第⼆步导⼊jar包点击See the page for an example of a configuration file.建⽴xml⽂件根据提⽰修改代码<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfigurationPUBLIC "-////DTD MyBatis Generator Configuration 1.0//EN""/dtd/mybatis-generator-config_1_0.dtd"><generatorConfiguration><!-- jar包位置 --><classPathEntry location="D:\\jar\\mybatis-generator-core-1.3.5.jar" /><!-- 数据源信息--><context id="DB2Tables" targetRuntime="MyBatis3"><!--禁⽌所有注释 --><commentGenerator><property name="suppressAllComments" value="true" /></commentGenerator><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://localhost:3306/mybatis"userId="root"password="root"></jdbcConnection><javaTypeResolver ><property name="forceBigDecimals" value="false" /></javaTypeResolver><!-- ⽣产实体类的位置 --><javaModelGenerator targetPackage="com.zhiyou100.xth.bean" targetProject="./src"><property name="enableSubPackages" value="true" /><property name="trimStrings" value="true" /></javaModelGenerator><!-- ⽣产映射⽂件所在位置 --><sqlMapGenerator targetPackage="com.zhiyou100.xth.mapper" targetProject="./resources"><property name="enableSubPackages" value="true" /></sqlMapGenerator><!-- ⽣产dao⽂件的所在位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.zhiyou100.xth.dao" targetProject="./src"><property name="enableSubPackages" value="true" /></javaClientGenerator><!--表schema 该表所在的数据库domainObjectName 实体类名--><table schema="mybatis" tableName="users" domainObjectName="Users"enableCountByExample="false" enableDeleteByExample="false" enableSelectByExample="false" enableUpdateByExample="false" ><property name="useActualColumnNames" value="true"/><generatedKey column="ID" sqlStatement="DB2" identity="true" /><columnOverride column="DATE_FIELD" property="startDate" /><ignoreColumn column="FRED" /><columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" /></table></context></generatorConfiguration>第三步运⾏第四步点击第五步List<String> warnings = new ArrayList<String>();boolean overwrite = true;File configFile = new File("generatorConfig.xml");ConfigurationParser cp = new ConfigurationParser(warnings);Configuration config = cp.parseConfiguration(configFile);DefaultShellCallback callback = new DefaultShellCallback(overwrite);MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null);在主函数⾥⾯导包运⾏。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
怎么使用PowerDesigner软件逆向生成
java类图
工具/原料
∙PC电脑
∙PowerDesigner软件
方法/步骤
1. 打开PowerDesiger软件,点击文件->建立新模型,新建Obect-Oriented Model
2. 点击语言->Reverse Engineer Java,弹出反向生成类图设置窗口
3. 在反向生成类图设置窗口中,选择Reverse Engineer,可以选择Java Files
或Java Directories等,在这里我选择Java Directories
4. 然后点击Add按钮添加目录,在这里我选择一个java源文件目录
5. 5
点击确定,PowerDesigner会显示生成进度窗口,完成以后在PowerDesigner 工作空间下会显示类图目录结构
6. 6
到此便将选中的Java目录下的Java类文件生成了静态类结构,例如:点击controller.admin命名空间,可以看到类图结构
END。