一:关于po、vo、dto的区别
在项目开发过程中,经常会碰到pojo、po、vo、dto的实体类,现在记录一下po、vo、dto的用法。
其中pojo是po、vo、dto的统称。
po、vo、dto都是实体类,其中po对应的是数据库的字段。DTO一般写在service层用来出参到门面层face(如果没有用门面的话一般都是直接用VO出参,有门面的话就是DTO再转成VO出参),VO则是你想给前端的字段,就是前端需要什么字段你VO就定义什么字段

PO
1.分辨PO实体类的有效方法是看其类上有没有加上注解@TableName或者,主键id有没有加 @TableId。有这个基本都是对应数据库的类,也就是PO。

2.po实体类大多需要调用CRUD的方法来获取数据库的值,或者把前端传进来的参数通过PO来存储到数据库中。

3.你也可以理解成po类字段对应的数据库的字段

4.不同项目的PO可能命名不同比如:他们可能放在entity、domain、po等包下

VO
vo里的实体类对应的大多是你页面上的一些字段,与数据库的实体类没啥关系,基本是给前端用的,常见的形式是类方法上有注解@ApiModel,私有属性@ApiModelProperty(value = “”),这两个注解基本都是为了方便前端知道他的作用给标明意思。

DTO
1.DTO类,多用于处理po和vo之间的关系,大致有时候也可以和vo相同。PO接收数据库的数据,然后转成DTO,DTO再转成VO(有时候为了偷懒,直接把DTO当成VO就不再转一层直接返回给前端)

这里给萌新们解释下什么是出参、入参
出参:就是返回的字段,意思就是你controller层最终要返回的字段,也就是前端需要的字段
入参:前端传给你的值,controller层方法接收字段。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐