這篇文章主要介紹“Mybatis ResultMap多表映射DTO怎么實(shí)現(xiàn)”,在日常操作中,相信很多人在Mybatis ResultMap多表映射DTO怎么實(shí)現(xiàn)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Mybatis ResultMap多表映射DTO怎么實(shí)現(xiàn)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),微信小程序,10年建站對(duì)成都地磅秤等多個(gè)方面,擁有多年的營(yíng)銷推廣經(jīng)驗(yàn)。
步驟:
1:構(gòu)建DT
package com.steak.system.pojo.dto; public class ApplyDTO { private Integer applyId; //申請(qǐng)書(shū)的ID 屬于申請(qǐng)表(sys_apply) private String selfIntroduction; //自我介紹 屬于申請(qǐng)表(sys_apply) private String applyTime; //申請(qǐng)時(shí)間 屬于申請(qǐng)表(sys_apply) private String userName; //申請(qǐng)人,屬于用戶表(sys_user) private String collegeName; //二級(jí)學(xué)院名稱,屬于二級(jí)學(xué)院表(sys_college) private String recruitName; //招聘書(shū)標(biāo)題 , 屬于招聘表(sys_recruit) private String status; //申請(qǐng)狀態(tài) 屬于申請(qǐng)表(sys_apply }
2:創(chuàng)建mybatis Mapper.xml
創(chuàng)建接口Mapper
ListgetApplyDTO(String userId);
實(shí)體之間的轉(zhuǎn)換(少寫代碼)
如:我封裝的DTO里面有一個(gè)字段int類型的字段status,一般在數(shù)據(jù)庫(kù)里面我們用數(shù)字來(lái)表示,但是返回前臺(tái)我們應(yīng)該用一個(gè)別人能夠理解的字段來(lái)表示(如待審核,已審核),由此我們需要定義一個(gè)VO(返回前端的模型,里面的字段要和DTO里面所要轉(zhuǎn)換的的字段相同,注意,是需要轉(zhuǎn)換的,我也可以在VO里面定義其他的,DTO轉(zhuǎn)換的時(shí)候只轉(zhuǎn)換VO里面和自己對(duì)應(yīng)的),然后通過(guò)set方式將值轉(zhuǎn)換到VO里面,數(shù)據(jù)字段少其實(shí)可以手動(dòng)set,如果有50個(gè)字段,一個(gè)字段一個(gè)字段的去set(實(shí)際上我只需要轉(zhuǎn)換一個(gè)status字段就OK,當(dāng)然也可以交給前端來(lái)處理,但是有時(shí)候前端并不知道代表什么,所以我們盡量給前端解析好,別人就不用去猜測(cè)了),費(fèi)力費(fèi)時(shí),代碼還不優(yōu)雅,所以推薦使用一些實(shí)體的轉(zhuǎn)換工具,我使用的是Apache的BeanUtils,里面有轉(zhuǎn)換的方法,如我將DTO轉(zhuǎn)換為VO,如下便可
BeanUtils.copyProperties(VO,DTO);
這樣的話我就將所有數(shù)據(jù)轉(zhuǎn)到VO里面了,我們?cè)赩O里面的status字段設(shè)置為String,然后取DTO里面的status字段出來(lái)進(jìn)行語(yǔ)義化成一個(gè)可理解的字段,為什么不取VO里面的,要取DTO呢,前面已經(jīng)說(shuō)了只能轉(zhuǎn)換和自己對(duì)應(yīng)的,因?yàn)镈TO里面的status為int類型,而VO里面的status為String,所以轉(zhuǎn)過(guò)來(lái)VO里面的status為null,所以需要取DTO里面的status,然后賦值給VO里面的status,如:1=待審核 2=已審核
到此,關(guān)于“Mybatis ResultMap多表映射DTO怎么實(shí)現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!