java开发中pojo、model和entity的区别及DTO与VO

一、pojo(Plain Ordinary Java Object无规则简单Java对象)

简单java对象

简单的javabean的对象,对应数据库某一张表,表的字段与pojo类的属性都要一一对应?

(查阅发现没有具体对pojo描述,有的说是作为业务协作类不需要一一对应)

但在实际开发中较少以pojo来对包命名。

二、entity(实体类)

数据表对应到实体类的映射

则类属性与数据库表字段一一对应

在实际开发中较多以entity命名数据库基础类包。

三、model(基于业务层数据)

其属性字段可能不与entity一一对应,Model是一个高度优化组合或者精简后的一个用于在View层展示数据的对象。(可能为多个entity的某些属性组合,也可能为单一entity的精简,具体结合业务需求来决定。)

根据实际开发中来看,model作为包命名,包内一般写与前端交互的response和request,根据业务需要的数据将entity中一个或多个字段数据封装成response和request。

四、model和dto的区别

开发过程中发现,model层和dto层都是面向前端传输类型,有点好奇他们两者之间的区别到底是什么,查询之后发现——此处借鉴内容

简单的说:DTO(数据传输对象)封装的数据面向表现层(UI),Model封装的数据面向业务逻辑层(service)。

好处:开发中模型改了但是UI没变,则只需要改变model,而不需要改其他。

你可能感兴趣的:(java,spring,boot,mvc)