java类图逆向自动生成
- 格式:docx
- 大小:277.84 KB
- 文档页数:4
使用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代码逆向⼯程⽣成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逆向⼯程⽣成实体类前⾔先赞后看,此⽣必赚!有时候,我们创建实体类需要跟数据库表⾥⾯的字段对应起来。
假如⼀张表有数百个字段,那么⼿动去写实体类的话就⽐较⿇烦,⽽且容易出错。
解决⽅案其实解决这个问题的⽅式有很多,本⽂介绍其中⼀种解决⽅案,通过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使用说明-指导手册原著: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”,并选择一个地方以保存工程。
从 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 种类和序列图进行高层的抽象。
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类图逆向自动生成
怎么使用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如何进⾏逆向⼯程第⼀步在百度搜索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);在主函数⾥⾯导包运⾏。
Java中Mybatis逆向工程实操Java中Mybatis逆向工程实操 (1)1. 什么是逆向工程 (2)2. 逆向工程的搭建 (2)2.1. 准备数据库 (2)2.2. 搭建Maven工程 (2)3. 映射文件接口的使用 (5)3.1. 接口使用准备工作 (6)3.1.1 引入jar包 (6)3.1.2 配置相关文件 (8)3.1.3 添加测试脚本 (9)3.2. 查找接口使用 (10)3.3. 插入接口使用 (11)3.4. 更新接口使用 (12)3.5. 删除接口使用 (13)1. 什么是逆向工程简单的理解,Mybatis逆向工程,就是通过相应插件,自动生成Mybatis数据库连接的一些文件。
Mybatis需要编写sql语句,Mybatis官方提供逆向工程,可以针对单表自动生成Mybatis执行所需要的代码(mapper.java、mapper.xml、pojo…),提高工作效率。
2. 逆向工程的搭建2.1. 准备数据库搭建数据库,数据库名、表名和字段名自拟。
参考如下:2.2. 搭建Maven工程这里采用Maven工程,原因是比较方便,不用下载相应的jar包,只需通过在pom.xml文件中引用的形式添加即可。
第一步:创建Maven工程第二步:在pom.xml文件中,添加Mybatis逆向工程生成器的jar包和数据库连接工具的jar包。
第三步:在工程目录的resources资源目录下创建配置文件,名字自拟。
并修改文件为如下内容,参照注释自行修改相关配置。
第四步:创建执行脚本Main.java,注意File访问路径为配置文件全路径。
第五步:执行脚本Main.java,会自动生成映射文件、接口文件和pojo等,参考工程目录如下:3. 映射文件接口的使用以上生成的映射文件,下面将根据StudentMapper接口文件分为查找、删除、插入和更新四个板块分别介绍接口的运用,StudentMapper.java接口文件如下:3.1. 接口使用准备工作3.1.1 引入jar包在使用接口文件的时候,必须引用Mybatis的jar包。
java自动生成方法
Java自动生成方法是指通过代码工具或IDE工具来生成Java 类中的方法体。
生成方法的好处是可以提高编码的效率和代码的可读性,同时减少编程过程中的错误。
在实际开发中,使用Java自动生成方法可以大大缩短开发时间,提高代码的可维护性和可扩展性。
Java自动生成方法的主要方式包括以下几种:
1.使用IDE工具自动生成方法:如Eclipse和IntelliJ IDEA 等IDE工具都提供了自动生成方法的功能,只需要在代码中选中需要自动生成的代码段,然后通过快捷键或右键菜单来执行自动生成方法的操作即可。
2.使用代码生成工具:如MyBatis、Hibernate、Spring等框架都提供了自动生成方法的功能,通过配置文件或代码生成器来自动生成Java类中的方法体。
3.使用模板引擎:如Velocity、Freemarker等模板引擎可以根据模板文件自动生成Java代码,通过定义模板文件来生成Java类中的方法体。
总之,Java自动生成方法是一种快速生成代码的方法,可以提高开发效率和代码质量。
在开发过程中,我们应该根据具体需求选择适合自己的自动生成方法的方式,以提高代码的可读性和可维护性。
- 1 -。
mybatisgenerator逆向⼯程⾃动⽣成带中⽂注释修改版(添加了实体类注释)⽂末附。
解决问题:原版的mybatis逆向⼯程⽣成的实体类没有,本版本主要就是反编译逆向⼯程源码后修改⼀个类的⽅法:核⼼包mybatis-generator-core-1.3.2.jar包下的org\mybatis\generator\internal包下的类:DefaultCommentGenerator原版:import ***public class DefaultCommentGenerator implements CommentGenerator {***public void addClassComment(InnerClass innerClass, IntrospectedTable introspectedTable) {if(!this.suppressAllComments) {StringBuilder sb = new StringBuilder();innerClass.addJavaDocLine("/**");innerClass.addJavaDocLine(" * This class was generated by MyBatis Generator.");sb.append(" * This class corresponds to the database table ");sb.append(introspectedTable.getFullyQualifiedTable());innerClass.addJavaDocLine(sb.toString());this.addJavadocTag(innerClass, false);innerClass.addJavaDocLine(" */");}}}修改后:import ***public class DefaultCommentGenerator implements CommentGenerator {***public void addFieldComment(Field field, IntrospectedTable introspectedTable, IntrospectedColumn introspectedColumn) {if(introspectedColumn.getRemarks() != null) {field.addJavaDocLine("/** " + introspectedColumn.getRemarks() + "*/");}}}修改这个⽅法后,再⽣成的实体类每个字段就⾃动带上注释了,当然前提是你的表字段得有备注。
⽤RationalRose逆向⼯程(java)⽣成类图(教程和错误解决)拿到了项⽬框架⼯程代码却没有uml图,那么⽅法之间的调⽤关系功能流转就不容易看出来,那么如何产⽣类图呢,记忆⾥⽅法有下:1.rose逆向⼯程,2.togetherrose有了,together前天才卸掉,那么就⽤ROSE,摸索后得出以下步骤,知道的就不⽤看了,很粗糙的:)1.新建⼀个ROSE⼯程,选择J2EE模板,2.如图3.在出现的界⾯中,CLASSPATH中加⼊源代码的⽬录,加⼊⽀持的包,点'ADD RECURSIVE'点 ‘SELECT ALL‘‘ 点REVERSE ‘,完成后没任何提⽰,点'DONE'结束。
逆向⼯程完成。
4 逆向⼯程以后不会⾃动⽣成类图,但在logical view 和component view ⾥⾯按照你的java包结构会⾃动⽣成相应的包和类,要按照⾃⼰的要求建⽴类图。
下⾯我们将所选包下的所有类显⽰在新建类图中:ROSE⾥新建CLASS DIAGRAM,然后把类包⼀个个拖到右侧图中,点菜单上的'QUERY'下的'ADD CLASS',确定。
1. rose逆向⼯程的时候,属性类型表现为:Logical View::java::lang::解决办法:菜单->Tools->Java/j2ee->Project选择Fundamental Type 页⾯Remoe Common JDK ClassesAdd Common JDK Classes确定即可,也许是Rose的Bug2. rose逆向⼯程的时候,报错,⼀般是类中没有引⽤了⼀些包在菜单view-》log 选中就能看到log window中出错信息,⼀般可能是找不到类,你在tools-java/j2ee-project specification⾥⾯设置好项⽬的相关项,⽐如classpath等等解决办法:菜单->Tools->Java/j2ee->project specification选择Class Path页⾯,将相应的包加⼊即可。
python逆向⼯程:通过代码⽣成类图python逆向⼯程:通过代码⽣成类图⼤致过程现在有⼀个core包,⾥⾯有python的代码。
通过core包,⽣成python的类图,如下:实施步骤:1、⾸先安装graphviz,⼀个画图⼯具,地址为:/pub/graphviz/stable/windows/graphviz-2.28.0.msi或者百度下载中⼼,下载graphviz2、pyreverse能⽅便的⽣成uml类图,pylint⾥⾃带了pyreverse这个⼯具。
使⽤pip安装pylintpip install pylint3、使⽤,可以参考的命令为,core为存放代码的⽬录pyreverse -ASmy -o png -p _002 core/这样就会在和core同级的⽬录⽣成2张png图⽚。
⼀张类图,⼀张包图参考:/u013920085/article/details/53285288延伸:1、包图图解:包图中,实线箭线表⽰python模块之间的引⽤关系。
A⽤实线箭线指向B时,表⽰A模块中import(导⼊)了B模块。
python模块可以是⼀个⽂件(*.py),也可以是⼀个包(含有__init__.py的Python包)。
注意:基础模块(os、sys等)不会再包图中显⽰。
2、类图图解:类图中,实线空⼼三⾓表⽰继承基类(⽗类)。
A⽤实线空⼼三⾓指向B时,表⽰A类继承了B类。
(如果改为虚线,则表⽰继承接⼝,java中常见)类图中,实线实菱形表⽰组合关系,如⼈体的各个部位,不可分割。
(如果改为空菱形,则表⽰聚合关系,如团队由⼈员组成,可以分割)A⽤实线实菱形指向B时,表⽰A是属于B的、不可分割的组成部分。
此时应在实线上标注出B的什么属性来接收A这个单位,作为B的组成部分。
主题:blade代码逆向生成表结构1. 介绍blade代码逆向生成表结构的概念Blade是一款基于Java的开源代码生成工具,它可以根据数据库表结构生成相应的Java实体类、DAO、Service等代码。
而在实际开发中,有时候我们需要做的是相反的操作,即根据已有的Java实体类或者其他代码,逆向生成相应的数据库表结构。
本文将介绍如何使用Blade代码逆向生成表结构。
2. 分析blade代码逆向生成表结构的原理Blade的代码逆向生成表结构的原理其实就是将已有的Java代码解析,提取其中的字段信息、注解信息等,然后根据这些信息生成相应的表结构。
具体来说,就是解析实体类中的属性,根据属性类型、注解信息以及约定俗成的命名规范来推断出相应的表结构,包括表名、字段名、字段类型、约束条件等。
3. 使用blade代码逆向生成表结构的步骤1)引入相关依赖:首先需要在项目中引入Blade的相关依赖,包括Blade代码生成工具以及数据库驱动等。
2)编写逆向生成配置:在项目中编写相应的逆向生成配置文件,指定要逆向生成表结构的实体类所在的包名、生成的表名规则、生成的路径等。
3)执行逆向生成:通过执行相应的命令或者调用相应的API来触发逆向生成操作。
4)查看生成结果:查看生成的表结构以及相应的DDL语句,进行必要的调整和优化。
4. blade代码逆向生成表结构的优势和局限优势:可以大大简化数据库设计的工作量,避免手工编写DDL语句,提高开发效率。
局限:逆向生成表结构是基于已有的Java代码,因此在代码质量较差或者存在一些特殊情况时,逆向生成的结果可能不尽如人意,需要进行手工调整。
5. 总结Blade代码逆向生成表结构是一种便捷的数据库设计方法,能够通过Java代码驱动数据库表结构的生成,节省了手工编写DDL语句的时间和精力。
然而,在实际使用中需要注意逆向生成的结果是否符合实际需求,进行必要的调整和优化。
结尾:希望本文能够帮助大家更好地理解和使用Blade代码逆向生成表结构的方法,欢迎大家提出宝贵意见和建议。
eclipse下⽣成Java类图和时序图,⽣成UML图1.安装和使⽤AmaterasUML⽤法:在⼯程名称右键选择New-Other,弹出新建对话框可以看到AmaterasUML选项,在其中选择Class Diagram,并命名后得到.cld⽂件,接着我们把⼯程network包中三个java⽂件拖拽到.cld⽂件视图中,AmaterasUML瞬间帮我们⽣成了这三个类的关系图2.安装和使⽤ModelSpoon功能:能将Eclipse中现有的java类⽣成类图⼀:什么是ModelGoon?它是⼀个Eclipse插件,⽤于基于UML图的模型设计,以及逆向⼯程(即从已有源代码⽣成类图)。
⼆:安装下载ModelGoon-4.4.1-site.zip到电脑,从eclipse中选择help-->install new software.在work with-->Add选择已经下载的ModelGoon-4.4.1-site.zip,⼀路next完成安装。
三:使⽤安装成功后,在eclipse中File-->new-->other-->ModelGoon Diagrams选择Class Diagram,在⾃⼰Java⼯程中创建⼀个后缀是.mgc的⽂件,⽤它来⽣成类图。
⽤法很简单,直接把Java类拖拽到这个⽂件视图中,就会⾃动⽣成UML类图。
2.重启Eclipse3.新建UML图:File->New->Green UML Class Diagram->输⼊UML图名->OK->⾃⼰所需的类右键->Green UML->Add to last viewed diagramPlantUML —— 应⽤于 Eclipse 的简单快速的 UML 编辑软件在应⽤系统软件开发过程中,如果软件由很多对象组成,它的结构仅仅凭借分析很难理清,同时为了有利于软件的开发及重⽤,所以在开发系统之前建模是⾮常有必要的,在众多的建模⽅法中选择⼀种适应⾃⾝应⽤特点,⽅便不同背景的⼈们交流的建模⽅法已经成为开发⼈员及⽤户的迫切愿望。
maven项⽬使⽤逆向⼯程⽣成实体类和mapper相关简单配置 在idea中使⽤逆向⼯程插件⾃动创建实体和mapper接⼝; ⼯具:idea+maven+mysql 当我们要写⼀个javaWeb项⽬时,如果数据库的表多了,⽤⼿动输⼊实体类信息是⽐较⿇烦的,所以下⾯就介绍⼀下在maven项⽬中使⽤逆向⼯程⽅法⾃动根据数据库信息创建相关实体类。
1、⾸先需要创建⼀个maven项⽬,并将项⽬中相关的包创建完成,即pojo、dao/mapper等。
2、下载相关依赖,尤其是数据库驱动;3、⾸先在pom.xml⽂件中加⼊以下依赖,下载插件mybatis-generator-maven-plugin。
1<build>2<plugins>3<plugin>4<groupId>org.mybatis.generator</groupId>5<artifactId>mybatis-generator-maven-plugin</artifactId>6<version>1.3.2</version>7<configuration>8<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>9<overwrite>true</overwrite>10<verbose>true</verbose>11</configuration>12<!--如果在使⽤插件创建时失败,可加⼊下⾯这个依赖(数据库驱动,根据数据库版本下载)-->13<dependencies>14<dependency>15<groupId>mysql</groupId>16<artifactId>mysql-connector-java</artifactId>17<version>8.0.15</version>18</dependency>19</dependencies>20</plugin>21</plugins>22</build>2、在resources资源⽂件下创建generatorConfig.xml,主要是配置需要创建的表和创建⽬标位置等信息。
Java实现图⽚翻转以及任意⾓度旋转最近⼏天在做⼀个项⽬,因为涉及到了图⽚(绝⼤部分都不是整图,是把⼀张张的⼤图切成⼩图,也就是Title)的翻转以及90°旋转,弄得焦头烂额。
在⽹上搜索好⼏天,发现⽤到的⽅法都是⽐较公式化的,对于只是在绘图的时候需要显⽰翻转⽽不需要另外⽣成图⽚的情况,这些代码⽤起来⾮常的⿇烦。
最后仔细的研究了⼀下JDK⽂档,⽤Graphics2D很简单的就实现了以下功能:1、图⽚的翻转,包括⽔平翻转以及垂直翻转2、图⽚的任意⾓度旋转。
因为⼯程需要,代码⾥⾯都直接写成了+90,根据需要,可以对这个值进⾏改动,以符合需求。
3、可以使⽤组合操作,⽐如⽔平翻转+旋转,或者垂直+⽔平+旋转,任意。
以下是代码:package Demo628;import java.awt.*;import java.awt.event.*;import java.util.*;import javax.swing.*;public class ImageRote{public static void main(String[] args){JFrame frame = new TransformFrame();frame.setVisible(true);}}class TransformFrame extends JFrame implements ActionListener{//添加⼏个按钮⽅便操作。
JButton rote = new JButton("旋转") ;JButton flipX= new JButton("⽔平翻转");JButton flipY= new JButton("垂直翻转");JButton zoomIn = new JButton("放⼤") ;JButton zoomOut = new JButton("缩⼩") ;public TransformFrame(){setTitle("TransformTest");setSize(400, 400);addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});Container contentPane = getContentPane();canvas = new TransPanel();contentPane.add(canvas, "Center");JPanel buttonPanel = new JPanel();buttonPanel.add(rote);rote.addActionListener(this);buttonPanel.add(flipX);flipX.addActionListener(this);buttonPanel.add(flipY);flipY.addActionListener(this);buttonPanel.add(zoomIn) ;zoomIn.addActionListener(this) ;buttonPanel.add(zoomOut) ;zoomOut.addActionListener(this) ;contentPane.add(buttonPanel, "North");}public void actionPerformed(ActionEvent event){Object source = event.getSource();//对于source == 这种⽅法,在特殊的情况下出现错误,所以,需要酌情使⽤event.getSource().equals()⽅法来替代==if (source == rote){canvas.setRotate();} elseif (source == flipX){canvas.flipX();} elseif (source == flipY){canvas.flipY();} elseif (source == zoomIn){canvas.zoomIn();} elseif (source == zoomOut){canvas.zoomOut();}}private TransPanel canvas;}class TransPanel extends JPanel{//⽔平翻转⽐例的标志。
怎么使用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。