当前位置: 首页 > news >正文

PowerDesigner 逆向工程以及IDEA中UML插件

1、MySQL数据库连接(JDBC方式)

1.1 新建一个pdm,dbms选择mysql
在这里插入图片描述

1.2 Database - Connect 选择数据库连接
在这里插入图片描述

1.3 配置连接信息

数据库连接这里是通过一个配置文件来获取连接信息的,首次的话因为没有,所以我们需要选择Configure进行配置
在这里插入图片描述

1.4 填写配置信息
在这里插入图片描述
如图,选择添加数据库资源,出现如上,相关说明如下:

Connection profile name:JDBC配置文件名称,可随意填写
Directory:配置文件保存路径
Description:配置文件描述,可根据实际用途填写
Connection type:连接方式,这里我们选择JDBC
DBMS type:数据库类型,提供大部分主流数据库选择,我们选择MySQL
User name:登录数据库的用户名
JDBC driver class:指定驱动类,使用默认的com.mysql.jdbc.Driver
JDBC connection URL:连接URL,格式jdbc:mysql://ServerIP/Hostname:port/database
JDBC driver jar files:指定连接的jar包路径
在这里插入图片描述

1.5 连接测试和配置保存

如图填写信息完成后,点击左下角的 Test Connection,出现成功提示则说明连接可行:
在这里插入图片描述

如果测试连接不通过,且出现 Non SQL Error : Could not load class com.mysql.jdbc.Drive 的错误,而指定的jar包没有问题,那么是因为PowerDesigner无法找到驱动所产生的。解决办法是配置系统的classpath路径,指定jar包路径就好了。
在这里插入图片描述

成功连接后,我们一路确定下去把这个配置文件进行保存,最终你可以在你指定的文件夹(该目录没有限制,自定义一个目录即可,此处我是建立在安装文件下的一个userConf文件夹内)中看到这个保存好的文件:
在这里插入图片描述

2、从已有数据库中的表进行逆向工程图

2.1 菜单选择,从数据库更新模型
在这里插入图片描述

2.2 选择数据库连接配置文件
在这里插入图片描述

2.3 选择涉及的数据库和想要导出的表
在这里插入图片描述

2.4 大功告成

在这里插入图片描述

=================================================

如何利用IDEA生成UML类图

对于已有的代码,想将相关类绘制成UML类图,虽然现在有很多UML类图的优秀软件,比如ProcessOn(可视化编辑)、draw.io(可视化编辑)、PlantUML(代码生成),其实看到这里我就想IDEA中有没有像PlantUML一样的自动生成的插件。

一、打开设置File->Setting或windows下按Ctrl+Alt+S,在搜索框中输入``Diagram,如下图:
在这里插入图片描述
如上所示,我们主要关心的只有Java Class Diagrams下面的几个单选框,分别对应红字部分,一般的UML类图只需要知道成员变量、构造器和方法(前面三个),其他的随意,设置好了之后我们就来演示一下

选择需要的类文件,在编辑器中打开它
按Ctrl + Shift + Alt + U或Ctrl + Alt + U或右键选择,``生成类Uml关联图,如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的是类的UML图,下面的support包的UML图:
在这里插入图片描述
局限性:虽然这个很是方便,但是也有他自己的局限性,首先这个功能只能是根据类来自动生成的,所以对于设计类的时候就不行了,还是需要正规的UML图软件,还有就是对于专业的UML软件来说,这种自动生成的东西可能表达并不是非常的准确直观,特别是对于UML图有严格要求的人来说,显得格外重要。

http://www.lryc.cn/news/167999.html

相关文章:

  • 企业架构LNMP学习笔记56
  • [Linux入门]---搭建Linux环境
  • 性能测试知多少---性能分析与调优的原理
  • “对象创建”模式
  • ipad手写笔有必要买吗?好用的平板触控笔
  • OpenGL ES视频特效开发参考Shadertoy参数详解参考Godot文档
  • java:逆序排序的三种方法
  • pgsql操作json类型
  • Thinkphp6 配置并使用redis图文详解 小皮面板
  • 模拟实现链式二叉树及其结构学习——【数据结构】
  • 基于go版本的LoraWAN Server 的470MHz频段的设置
  • C与C++的函数相互调用
  • MySQL架构介绍与说明
  • three3D的vite+vue版本基础代码
  • 实现按钮悬停动画
  • 【C++】深拷贝和浅拷贝 ② ( 默认拷贝构造函数是浅拷贝 | 代码示例 - 浅拷贝造成的问题 )
  • 【Selenium】webdriver.ChromeOptions()官方文档参数
  • pytorch代码实现之动态卷积模块ODConv
  • 动态规划:子序列问题(C++)
  • ORACLE的分区(一)
  • 【数据结构】C++实现二叉搜索树
  • Python中Mock和Patch的区别
  • sql server 查询某个字段是否有值 返回bool类型
  • 紫光展锐5G芯T820 解锁全新应用场景,让机器人更智能
  • 秋招前端面试题总结
  • 【入门篇】ClickHouse 数据类型
  • 关于Python数据分析,这里有一条高效的学习路径
  • 基于 json-server 工具,模拟实现后端接口服务环境
  • 想要精通算法和SQL的成长之路 - 课程表II
  • 【sgGoogleTranslate】自定义组件:基于Vue.js用谷歌Google Translate翻译插件实现网站多国语言开发