一、vo(视图对象)
在controller中返回给前端的内容,实体类相当于接口,用来扩展表的字段,为了页面显示取值方便,将数据封装为一个对象,用于数据逻辑层和表示层之间数据处理封装VO是value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要。VO里的属性是纯给用户显示的,是实际返回给用户的视图对象。
二、PO
每个属性基本上都对应数据库表里面的某个字段,一般要实现序列化接口,有时也继承一些类。PO里的属性 主要是用来给数据库用的
PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。
三、POJO
POJO : 他并不继承任何类(继承Object),实现任何接口,只有属性跟get set方法。
三者区别:
三个都是java实体对象
VO,跟PO比较类似,PO 是persistent object,是在是ORM 框架中的entity,po的每个属性基本上都对应数据库表里面的某个字段;而vo(value object)有时可以跟po一样,有时并不对应。POJO(Plain Old Java Objects)是简单java对象,他并不继承任何类(继承Object),实现任何接口,只有属性跟get set方法。而po一般要实现序列化接口,有时也继承一些类。