当前位置: 首页 > 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图有严格要求的人来说,显得格外重要。

相关文章:

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

1、MySQL数据库连接(JDBC方式) 1.1 新建一个pdm,dbms选择mysql 1.2 Database - Connect 选择数据库连接 1.3 配置连接信息 数据库连接这里是通过一个配置文件来获取连接信息的,首次的话因为没有,所以我们需要选择…...

企业架构LNMP学习笔记56

MongoDB数据类型操作:CURD 1、添加数据: mongodb里存储数据的格式文档形式,以bson格式的文档形式。 创建数据库: > use tp5shop switched to db tp5shop > db.getName() tp5shop使用切换库,不存在自动创建&am…...

[Linux入门]---搭建Linux环境

1.Linux环境的搭建方式 使用Linux操作系统的三种途径: 1.直接安装在物理机上,但是由于 Linux 桌面使用起来非常不友好,不推荐。 2.使用虚拟机软件,将 Linux 搭建在虚拟机上,但是由于当前的虚拟机软件(如 VMWare 之类的…...

性能测试知多少---性能分析与调优的原理

最近一直纠结性能分析与调优如何下手,先从硬件开始,还是先从代码或数据库。从操作系统(CPU调度,内存管理,进程调度,磁盘I/O)、网络、协议(HTTP, TCP/IP )&…...

“对象创建”模式

通过“对象创建”模式绕开new,来避免对象创建 (new) 过程中所导致的紧耦合(依赖具体类)从而支持对象创建的稳定。它是接口抽象之后的第一步工作。 典型模式 Factory MethodAbstract FactoryPrototypeBuilder Factory Method 动机 (Motivation) 在软件系统中&am…...

ipad手写笔有必要买吗?好用的平板触控笔

众所周知,随着Apple pencil的出现,市面上出现越来越多平替电容笔的出现,无论是价格和功能,几乎都很接近。很多小伙伴不知如何下手,不知道如何从众多品牌中挑选出适合自己的电容笔,今天我为大家总结一下网上…...

OpenGL ES视频特效开发参考Shadertoy参数详解参考Godot文档

今天一个大厂的学员过来问shadertoy上一些参数的问题,因为我之前用过一段时间Godot引擎, 我清晰记得Godot官方文档有明确的解释,所以整理下发给做特效的同学。 Shadertoy是一个网站,它方便用户编写片段着色器并创造出纯粹的魔法。…...

java:逆序排序的三种方法

// 逆序第一种方法 public static void main(String[] args) {int arr[] {11, 22, 33, 44, 55, 66};for (int i arr.length-1; i > 0; i--) {System.out.print("\t"arr[i]);}}缺点:这个是直接逆转,如果里面是随机数没办法比较 逆序第二种…...

pgsql操作json类型

目录 一、表结构 二、实体类 三、json处理器 四、配置文件 五、josn数据 1、插入 2、查找 一、表结构 CREATE TABLE "public"."pg_user" ("id" int8 NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 MINVALUE 1 MAXVALUE 92233720…...

Thinkphp6 配置并使用redis图文详解 小皮面板

这篇文章主要介绍了Thinkphp6 配置并使用redis的方法,结合实例形式详细分析了Redis的安装、配置以及thinkphp6操作Redis的基本技巧,需要的朋友可以参考下 一、安装redis ThinkPHP内置支持的缓存类型包括file、memcache、wincache、sqlite。ThinkPHP默认使用自带的采用think\Ca…...

模拟实现链式二叉树及其结构学习——【数据结构】

W...Y的主页 😊 代码仓库分享 💕 之前我们实现了用顺序表完成二叉树(也就是堆),顺序二叉树的实际作用就是解决堆排序以及Topk问题。 今天我们要学习的内容是链式二叉树,并且实现链式二叉树,这篇博客与递归息息相关&a…...

基于go版本的LoraWAN Server 的470MHz频段的设置

一、参考链接 如果您已经基于最新版本的LoraWAN Server(go 版本)的环境,搭建好了服务器的环境,但尚未进行参数设置(此处以470MHz频段设置为例),可以参考如下链接进行设置: LoraWAN…...

C与C++的函数相互调用

无法直接调用原因: C 和 C 的函数可以相互调用,但需要一些特殊的注意事项,因为它们有不同的编译和链接规则以及一些语法差异。 链接规则: C 语言的链接器通常使用 C 标准的函数命名和调用约定,而 C 链接器使用 C 的函数…...

MySQL架构介绍与说明

1、MySQL架构介绍 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上, 插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的…...

three3D的vite+vue版本基础代码

自己稍微处理一下目录结构 <script setup>// 导入three.js import * as THREE from three// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCamera(45, //视角window.innerWidth / window.innerHeight, //宽高比0.1, // 近平…...

实现按钮悬停动画

知识点与技巧 伪元素 使用伪元素来作为按钮悬停效果动画展示的元素 z-index 的使用技巧 使用z-index属性来控制按钮和伪元素的层次关系 transform、transition 复习 使用transform、transition两个属性来实现动画的展示 按钮边框动画 切换效果 核心代码 .btn.btn-border-…...

【C++】深拷贝和浅拷贝 ② ( 默认拷贝构造函数是浅拷贝 | 代码示例 - 浅拷贝造成的问题 )

文章目录 一、默认拷贝构造函数是浅拷贝1、默认拷贝构造函数2、默认拷贝构造函数是浅拷贝机制 二、代码示例 - 浅拷贝造成的问题 一、默认拷贝构造函数是浅拷贝 1、默认拷贝构造函数 如果 C 类中 没有定义拷贝构造函数 , C 编译器会自动为该类提供一个 " 默认的拷贝构造函…...

【Selenium】webdriver.ChromeOptions()官方文档参数

Google官方Chrome文档&#xff0c;在此记录一下 Chrome Flags for Tooling Many tools maintain a list of runtime flags for Chrome to configure the environment. This file is an attempt to document all chrome flags that are relevant to tools, automation, benchm…...

pytorch代码实现之动态卷积模块ODConv

ODConv动态卷积模块 ODConv可以视作CondConv的延续&#xff0c;将CondConv中一个维度上的动态特性进行了扩展&#xff0c;同时了考虑了空域、输入通道、输出通道等维度上的动态性&#xff0c;故称之为全维度动态卷积。ODConv通过并行策略采用多维注意力机制沿核空间的四个维度…...

动态规划:子序列问题(C++)

动态规划&#xff1a;子序列问题 前言子序列问题1.最长递增子序列&#xff08;中等&#xff09;2.摆动序列&#xff08;中等&#xff09;3.最长递增子序列的个数&#xff08;中等&#xff09;4.最长数对链&#xff08;中等&#xff09;5.最长定差子序列&#xff08;中等&#x…...

TS-182快速打通Modbus干变温控箱与PROFINET PLC连接

项目背景&#xff1a;在电力配电系统中&#xff0c;干式变压器的安全运行离不开温控箱的实时监测与保护。作为变压器温控箱的生产厂商&#xff0c;您是否遇到过这样的困扰&#xff1a;客户现场的主控系统采用西门子S7-1500 PLC&#xff08;PROFINET协议&#xff09;&#xff0c…...

终极Windows热键侦探指南:3分钟解决快捷键冲突难题

终极Windows热键侦探指南&#xff1a;3分钟解决快捷键冲突难题 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾经遇…...

AI应用配置管理实战:从环境变量到多租户架构的工程化解决方案

1. 项目概述&#xff1a;AI配置管理的“瑞士军刀”最近在折腾AI应用开发&#xff0c;特别是那些需要调用不同模型、处理复杂提示词的项目时&#xff0c;配置管理简直是个噩梦。每个模型API的密钥格式不一样&#xff0c;提示词模板散落在各个脚本里&#xff0c;环境变量多得记不…...

Llama.cpp Docker镜像部署指南:快速搭建本地大模型运行环境

1. 项目概述&#xff1a;为什么需要为Llama.cpp准备Docker镜像&#xff1f; 在本地部署和运行大型语言模型&#xff08;LLM&#xff09;这件事上&#xff0c;Llama.cpp 几乎成了开源社区的“标准答案”。它用纯C/C编写&#xff0c;通过高效的量化技术&#xff0c;让我们能在消费…...

一键部署Obsidian环境:自动化脚本实现跨设备配置同步

1. 项目概述&#xff1a;为什么我们需要一个“一键式”的 Obsidian 安装脚本&#xff1f;如果你是一个深度依赖 Obsidian 进行知识管理、笔记写作或项目规划的从业者&#xff0c;无论是程序员、作家、学生还是研究员&#xff0c;大概率都经历过这样的场景&#xff1a;换了一台新…...

Kubescape终极跨平台安装指南:Windows/Linux/macOS一键部署与实用技巧

Kubescape终极跨平台安装指南&#xff1a;Windows/Linux/macOS一键部署与实用技巧 Kubescape是一款开源的Kubernetes安全平台&#xff0c;专为IDE、CI/CD管道和集群设计&#xff0c;提供风险分析、安全合规检查和错误配置扫描功能&#xff0c;帮助Kubernetes用户和管理员节省宝…...

基于Rust与智能体范式构建生产级AI工作流:从Dust平台实践到避坑指南

1. 从零到一&#xff1a;理解Dust平台的核心价值与设计哲学如果你和我一样&#xff0c;每天都在和代码、文档、数据打交道&#xff0c;那你肯定也经历过这样的时刻&#xff1a;为了一个简单的数据查询&#xff0c;需要在不同工具间反复切换&#xff1b;为了写一份周报&#xff…...

列车主动悬架超磁致伸缩作动器动力学【附模型】

✨ 长期致力于超磁致伸缩作动器、主动悬架、动力学建模、特性分析、Simulink仿真研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;非均匀磁场下的多物理…...

在株洲如何选择护脊透气的床垫?

引言在现代社会&#xff0c;随着生活节奏的加快和工作压力的增加&#xff0c;越来越多的人开始关注睡眠质量。而床垫作为影响睡眠质量的重要因素之一&#xff0c;其选择显得尤为重要。特别是对于需要护脊和透气功能的床垫&#xff0c;如何选择成为了一个关键问题。本文将结合德…...

5个简单步骤实现iOS虚拟定位:iFakeLocation终极解决方案

5个简单步骤实现iOS虚拟定位&#xff1a;iFakeLocation终极解决方案 【免费下载链接】iFakeLocation Simulate locations on iOS devices on Windows, Mac and Ubuntu. 项目地址: https://gitcode.com/gh_mirrors/if/iFakeLocation 你是否曾经需要在不同城市测试应用的位…...