项目中 Entity、VO、DTO的认识和应用

这个对象的区别曾经真是困扰了我好久,在这里分享下,希望能够给大家带来帮助

项目中关于Entity、VO、DTO的认识和应用、

  1. entity 里的每一个字段,与数据库相对应,

  2. vo 里的每一个字段,是和你前台 html 页面相对应,

  3. dto 这是用来转换从 entity 到 vo,或者从 vo 到 entity 的中间的东西 。(DTO中拥有的字段应该是entity中或者是vo中的一个子集)

举个例子:

你的html页面上有三个字段,name,pwd,age

你的数据库表里,有两个字段,name,pwd, 注意没有 age。

而你的 vo 里,就应该有下面三个成员变量 ,因为对应 html 页面上三个字段 。

private string name;

private string pwd; 

private string age;

这个时候,你的 entity 里,就应该有两个成员变量 ,因为对应数据库表中的 2 个字段 。

private string name;

private string pwd;

到了这里,做这样一个业务“年龄大于 25 的才能存入数据库,这个时候,你就要用到 dto 了

  1. 你要先从页面上拿到 vo,然后判断 vo 中的 age 是不是大于 25 。

  2. 如果大于 25 ,就把 vo 中的 name 和 pwd拿出来,放到 dto 中。

  3. 然后在把 dto 中的 name 和 pwd原封不动的给 entity,然后根据 entity 的值,在传入数据库。

这就是他们三个的区别。

PS: dto 和 entity 里面的字段应该是一样的,dto 只是 entity 到 vo,或者 vo 到 entity 的中间过程,如果没有这个过程,你仍然可以做到增删改查,这是根据具体公司规范来的 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章