1、entity 里的每一個字段,與數據庫相對應,
2、vo 里的每一個字段,是和你前台 html 頁面相對應,
3、dto 這是用來轉換從 entity 到 vo,或者從 vo 到 entity 的中間的東西 。(DTO中擁有的字段應該是entity中或者是vo中的一個子集)
舉個例子:
你的html頁面上有三個字段,name,pass,age
你的數據庫表里,有兩個字段,name,pass , 注意沒有 age。
而你的 vo 里,就應該有下面三個成員變量 ,因為對應 html 頁面上三個字段 。
private string name; private string pass; private string age;
這個時候,你的 entity 里,就應該有兩個成員變量 ,因為對應數據庫表中的 2 個字段 。
private string name; private string pass;
到了這里,好了,業務經理讓你做這樣一個業務“年齡大於 20 的才能存入數據庫,這個時候,你就要用到 dto 了,
1)你要先從頁面上拿到 vo,然后判斷 vo 中的 age 是不是大於 20。
2)如果大於 20,就把 vo 中的 name 和 pass 拿出來,放到 dto 中。
3)然后在把 dto 中的 name 和 pass 原封不動的給 entity,然后根據 entity 的值,在傳入數據庫。
這就是他們三個的區別。
PS: dto 和 entity 里面的字段應該是一樣的,dto 只是 entity 到 vo,或者 vo 到 entity 的中間過程,如果沒有這個過程,你仍然可以做到增刪改查,這是根據具體公司規范來的 。