一、idea安装plantUml
依次操作:file---setting---plugins----PlantUML integration----restart Idea
二、创建类图
- 依次操作:file---new---plantUml
- 选择创建类图
创建之后可以看到左边是语法,右边是语法对应的图形,可以学习这个语法来开始我们的类图。
三、实例
- 目标:我要创建三个类,一个device,deviceNode,deviceData,device 有不同的节点(deviceNode),deviceNode包含很多数据(data),要展示三个类的关系。
- 解决办法:
- class
语法:
@startuml
'https://plantuml.com/class-diagram
class Device {
private BigInteger id => 设备id;
private String code => 设备编号;
private String name =>设备名称;
private Date crtTime=> 创建时间;
}
class DeviceData {
private BigInteger id=>id;
private String title=>标题;
private String path=>路径;
private BigInteger nodeId=>节点/生命周期id;
private Date crtTime=>创建时间;
private Date uptTime=>修改时间;
}
class DeviceNode{
private BigInteger id=>节点id;
private String name=>名称;
private Integer position=>位置;
private BigInteger deviceId=>设备id;
private Date crtTime=>创建时间;
}
Device::id <-- DeviceNode:deviceId
DeviceNode::id <-- DeviceData:nodeId
@enduml
图形
- map
语法:
@startuml
'https://plantuml.com/class-diagram
map Device {
private BigInteger id => 设备id;
private String code => 设备编号;
private String name =>设备名称;
private Date crtTime=> 创建时间;
}
map DeviceData {
private BigInteger id=>id;
private String title=>标题;
private String path=>路径;
private BigInteger nodeId=>节点/生命周期id;
private Date crtTime=>创建时间;
private Date uptTime=>修改时间;
}
map DeviceNode{
private BigInteger id=>节点id;
private String name=>名称;
private Integer position=>位置;
private BigInteger deviceId=>设备id;
private Date crtTime=>创建时间;
}
Device::id --> DeviceNode:deviceId
DeviceNode::id --> DeviceData:nodeId
@enduml
图形:
语法解释
- => 这个符号在map中大概区分表示key,value。而class是没用的,可以直接在字段名后面写上中文备注。
- --> 这个作为连接指向符,<--也是一样的,看你方向要指向哪里
Device::id <-- DeviceNode:deviceId
首先一定要保证一边有::
,另一边可以是::
或:
::
指的是这个类的某个字段值,两边都用这个则将两个字段值连起来(只在class中有作业,map中只是把map连起来了。
:
则在连接线上显示这个字段名,表示通过该字段名连接