实体类定义规则
不同的包名
PO
定义:persistent object 持久化对象,有时也被称为Data对象,对应数据库中的entity(实体),可以简单认为一个PO对应数据库中的一条记录
VO
定义:view object 表现层对象,主要对应页面显示(web页面/swing页面)的数据对象,可以和表对应,也可以不对应
DTO(TO)
定义:Data Transfer Object 数据传输对象,比如一张表有100个字段,那么对应的PO就有100个属性(大多数情况下,DTO内的数据来源于多个表)。但view层只需要显示10个字段,没有必要把整个PO对象传递到客户端,这时我们可以用这只有10个属性的DTO来传输数据到客户端,这样不会暴露服务端表的结构。到达客户端后,如果用这个对象来对应界面显示,那此时它的身份就变成了VO
POJO
定义:plain ordinary java object 无规则简单java对象
一个中间对象,可以转为PO、DTO、VO
- POJO持久化后–PO(mapper包下)
- POJO传输过程–DTO(service包下)
- POJO用作表现层–VO(controller包下)