dto數(shù)據(jù)傳輸對(duì)象 java項(xiàng)目中VO和DTO以及Entity,各自是在什么情況下應(yīng)用的?
java項(xiàng)目中VO和DTO以及Entity,各自是在什么情況下應(yīng)用的?你好,按照標(biāo)準(zhǔn)來說:1、entity里的每一個(gè)字段,與數(shù)據(jù)庫相對(duì)應(yīng),2、dto里的每一個(gè)字段,是和你前臺(tái)頁面相對(duì)應(yīng),3、VO,這是
java項(xiàng)目中VO和DTO以及Entity,各自是在什么情況下應(yīng)用的?
你好,按照標(biāo)準(zhǔn)來說:
1、entity里的每一個(gè)字段,與數(shù)據(jù)庫相對(duì)應(yīng),
2、dto里的每一個(gè)字段,是和你前臺(tái)頁面相對(duì)應(yīng),
3、VO,這是用來轉(zhuǎn)換從entity到dto,或者從dto到entity的中間的東西。
舉個(gè)例子:
你的html頁面上有三個(gè)字段,name,pass,age
你的數(shù)據(jù)庫表里,有兩個(gè)字段,name,pass(注意沒有age哦)
而你的dto里,就應(yīng)該有下面三個(gè)(因?yàn)閷?duì)應(yīng)html頁面上三個(gè)字段嘛)
private string name;
private string pass
private string age
這個(gè)時(shí)候,你的entity里,就應(yīng)該有兩個(gè)(因?yàn)閷?duì)應(yīng)數(shù)據(jù)庫表中的2個(gè)字段嘛)
private string name;
private string pass
到了這里,好了,業(yè)務(wù)經(jīng)理讓你做這樣一個(gè)業(yè)務(wù)“年齡大于20的才能存入數(shù)據(jù)庫”
這個(gè)時(shí)候,你就要用到vo了
你要先從頁面上拿到dto,然后判斷dto中的age是不是大于20,如果大于20,就把dto中的
name和pass拿出來,放到vo中,然后在把vo中的name和pass原封不懂的給entity,然后根據(jù)
entity的值,在傳入數(shù)據(jù)庫,這就是他們?nèi)齻€(gè)的區(qū)別
PS,VO和entity里面的字段應(yīng)該是一樣的,vo只是entity到dto,或者dto到entity的中間過程,如果沒有這個(gè)過程,你仍然可以做到增刪改查,這個(gè)就根據(jù)具體公司來的,