Entity、VO、DTO略解及举例

Entity:实体,与数据库的每一行数据打交道的,它的属性对应数据库每个字段
例如Person实体

class Person {
	private Long idCard;
	private String name;
	private Date birthday;
	......
}

对应数据库的idnamebirthday等等字段,在CRUD中都会频繁用到

VO(View Object):视图类对象,属性对应前端页面用到的变量,例如用户登录页面涉及账号和密码,通过VO的封装传到HTML页面

class UserVO {
	private String username;
	private String password;
}

DTO(Data Transform Object):数据传输对象,用于调用接口或接口返回时传输,属性往往是EntityVO的属性的一个子集
例如学生有学号,姓名,性别,年龄,身高,体重等等属性

class Student {
	private Long id;
	private String name;
	private String sex;
	private Integer age;
	private Integer height;
	private Float weight;
}

现在有个业务要根据身高和体重计算学生的健康指数,那么现在传一个Entity,除身高、体重外有许多用不上的属性,因此就用DTO,传其中两个属性就行

class StudentDTO {
	private Integer height;
	private Float weight;
}

版权声明:本文为qq_45822970原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。