1、PO (Persistent Object)entity实体 里的每一个字段,与数据库表的字段相对应,
2、VO 有两种理解,个人倾向第二种
- VO:值对象(Value Object) 通常用于业务层之间的数据传递
- VO (View Object)表现层对象,主要对应展示界面显示的数据对象,用一个VO对象来封装整个界面展示所需要的对象数据。
3、DTO 数据传输对象(Data Transfer Object) 是一种设计模式之间传输数据的软件应用系统。用来转换从 entity 到 VO,或者从 VO到 entity 的中间的东西 。
举个例子来说明:
Web页面上有三个信息要展示,username,remark,gender
而数据库表里,有两个字段,userName,remark, 没有 gender。
这是VO一般有三个成员变量来对于Web的三个信息。
private String userName;
private String remark;
private String gender;
而 entity有两个成员变量 ,因为对应数据库表中的两个字段 。
private String userName;
private String remark;
这时如果我们要统计女性用户比例多少,可以利用DTO重新封装一层。
首先从页面上拿到 vo,然后判断 vo 中的 gender是不是为0 ,假如0 表示女性。
如果是0,就把 vo 中的 userName和 remark,放到 dto 中。
然后再把 dto 中的 userName和 remark传给 entity,然后根据 entity 的值,再入库到数据库。
Entity实体,和PO的功能类似,和数据表一一对应,一个实体一张表。