java开发-层级类

数据层

entity

entity = 实体

严格和数据库相对应,数据库中有什么字段,entity包中的类就有什么字段。因此当操作表时,操作这个类即可。

比如user表中有name、id、age,则entity包中对应的同名类也只有这三个同名属性

如果是严格对数据库表操作,就用entity

model (概念实体模型)实体类和模型

当用model当包名时,一般里面存的是实体类的模型,是用来给后端用的。

比如user表中有name、id、age,出于安全原因,我们需要把用户的密码定义在另一表中,即user_passwd表,
但进行相关操作时,我们往往需要将两个表关联使用,每次定义都很麻烦。

因此可以在model层中定义user_model类,将user表中的信息与user_passwd表中的信息整合成一张综合表,
这样在进行操作时只需调用综合表,就可以完成对两个表的关联操作

如果想显示某个几个表的综合信息,就用model,注意model包一般放在service层

DTO (Data Transfer Object)数据传输对象

Data Transfer Object数据传输对象的简称,多用于多个系统之间,网络通信,数据库存取等。
将调用或返回的数据保存在DTO中从而减少调用负载。它不包含业务逻辑处理,但可以有数据整合性的校验。
DTO需要注意的是必须序列化,即implements Serializable,
一般用于接口间调用参数的传递,或访问DAO层传递条件参数使用。

一般来说,DTO是用于在不同层之间传输数据的一个普通Java类。
它通常用于封装从数据库查询结果中提取的数据,或者用于在应用程序的不同模块之间传递数据。

一般在 前端(Web)

对控制层(Controller)进行数据传输时使用,说白了就是

前端向后台
提交数据。

xxxDTO,xxx为业务领域相关的名称

VO (View Object)视图模型

Value Object值对象的简称,主要体现在视图的对象,
对于一个WEB页面将整个页面的属性封装成一个对象,然后用一个VO对象在控制层与视图层进行传输交换,
比如页面要显示100个字段,而实体只有10个,就可以封装一个VO返回。

一般用在业务逻辑层(Service)

对前端(Web) 的 视图模型效果控制的展示上,说白了就是

后台向前端
传输数据。

xxxVO,xxx一般为网页名称

Form

主要用于接收页面表单中的数据或者页面显示用数据的存储,
包含校验Validate方法,一般用于controller层用来接收前端传过来的参数

domain

domain = 域

域是一个大范围,如简历域包括工作经验表、项目经验表、简历基本信息表。
在domain包中,就可以定义一个大的简历对象,将三个表的内容整合在一个对象中,作为整体操作。

如果想对几个表综合操作,就用domain

数据访问层

DAO (Data Access Object)数据访问对象

DAO(Data Access Object)是一个数据访问接口,数据访问:顾名思义就是与数据库打交道。
夹在业务逻辑与数据库资源中间。

一般在 业务逻辑层(Service)

数据库(SQL) 的访问时使用,一般能对SQL进行操作。

xxxDAO,xxx即为实体类名(Entity实体)

Mapper