欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作

 更新時(shí)間:2021年02月22日 11:46:00   作者:延遲滿足  
這篇文章主要介紹了DTO 實(shí)現(xiàn) service 和 controller 之間值傳遞的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

概念

DTO( Data Transfer Object):

數(shù)據(jù)傳輸對(duì)象,Service 或 Manager 向外傳輸?shù)膶?duì)象。

BO:business object 業(yè)務(wù)對(duì)象。主要作用是把業(yè)務(wù)邏輯封裝為一個(gè)對(duì)象。這個(gè)對(duì)象可以包括一個(gè)或多個(gè)其它的對(duì)象。比如一個(gè)簡(jiǎn)歷,有教育經(jīng)歷、工作經(jīng)歷、社會(huì)關(guān)系等等。我們可以把教育經(jīng)歷對(duì)應(yīng)一個(gè) PO,工作經(jīng)歷對(duì)應(yīng)一個(gè) PO,社會(huì)關(guān)系對(duì)應(yīng)一個(gè) PO。建立一個(gè)對(duì)應(yīng)簡(jiǎn)歷的 BO 對(duì)象處理簡(jiǎn)歷,每個(gè) BO 包含這些 PO。這樣處理業(yè)務(wù)邏輯時(shí),我們就可以針對(duì) BO 去處理。

VO( View Object):

顯示層對(duì)象,通常是 Web 向模板渲染引擎層傳輸?shù)膶?duì)象。

POJO( Plain Ordinary Java Object):

在阿里巴巴編程手冊(cè)中, POJO 專指只有setter/getter/toString的簡(jiǎn)單類,包括DO/DTO/BO/VO等。

DTO 實(shí)例代碼

/**
 * 封裝執(zhí)行后結(jié)果
 */
public class PersonInfoExecution {
	// 結(jié)果狀態(tài)
	private int state;
	// 狀態(tài)標(biāo)識(shí)
	private String stateInfo;
	// 店鋪數(shù)量
	private int count;
	// 操作的personInfo(增刪改店鋪的時(shí)候用)
	private PersonInfo personInfo;
	// 獲取的personInfo列表(查詢店鋪列表的時(shí)候用)
	private List<PersonInfo> personInfoList;
	public PersonInfoExecution() {
	}
	// 失敗的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
	}
	// 成功的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum,
			PersonInfo personInfo) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
		this.personInfo = personInfo;
	}
	// 成功的構(gòu)造器
	public PersonInfoExecution(PersonInfoStateEnum stateEnum,
			List<PersonInfo> personInfoList) {
		this.state = stateEnum.getState();
		this.stateInfo = stateEnum.getStateInfo();
		this.personInfoList = personInfoList;
	}
	
	//get set......
}

補(bǔ)充:springBoot框架中幾個(gè)層(dto、dao、service、controller)之間的關(guān)系

可以這樣理解:

controller層-----> service層(接口—>接口實(shí)現(xiàn)類) -----> dao層的.mapper文件 -----> 和mapper層里的.xml文件對(duì)應(yīng)

Model層 是數(shù)據(jù)層:

TableName是對(duì)數(shù)據(jù)表實(shí)體的映射;

Criteria傳輸前臺(tái)數(shù)據(jù)

DTO 傳輸類間數(shù)據(jù)

Mapper層 放置SQL查詢XML文件

Dao層 相當(dāng)于XML文件的抽象類

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • Java動(dòng)態(tài)規(guī)劃之丑數(shù)問題實(shí)例講解

    Java動(dòng)態(tài)規(guī)劃之丑數(shù)問題實(shí)例講解

    這篇文章主要介紹了Java動(dòng)態(tài)規(guī)劃之丑數(shù)問題實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-09-09
  • Mybatis中如何設(shè)置sqlSession自動(dòng)提交

    Mybatis中如何設(shè)置sqlSession自動(dòng)提交

    在MyBatis中,默認(rèn)情況下,獲取的SqlSession對(duì)象不會(huì)自動(dòng)提交事務(wù),這意味著在進(jìn)行更新、刪除或插入等操作后,需要顯式調(diào)用commit方法來提交事務(wù),但是,可以在獲取SqlSession時(shí)通過將openSession方法的參數(shù)設(shè)置為true
    2024-09-09
  • Java如何實(shí)現(xiàn)單鏈表的增刪改查

    Java如何實(shí)現(xiàn)單鏈表的增刪改查

    這篇文章主要給大家介紹了關(guān)于Java如何實(shí)現(xiàn)單鏈表的增刪改查的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • spring-retry簡(jiǎn)單使用方法

    spring-retry簡(jiǎn)單使用方法

    這篇文章主要介紹了spring-retry簡(jiǎn)單使用方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java Scala泛型(泛型方法,泛型類,泛型特質(zhì),上下界,協(xié)變、逆變、非變)

    Java Scala泛型(泛型方法,泛型類,泛型特質(zhì),上下界,協(xié)變、逆變、非變)

    泛型的意思是泛指某種具體的數(shù)據(jù)類型, 在Scala中, 泛型用[數(shù)據(jù)類型]表示. 在實(shí)際開發(fā)中, 泛型一般是結(jié)合數(shù)組或者集合來使用的,這篇文章主要介紹了Scala泛型(泛型方法,泛型類,泛型特質(zhì),上下界,協(xié)變、逆變、非變),需要的朋友可以參考下
    2023-04-04
  • Java excel數(shù)據(jù)導(dǎo)入mysql的實(shí)現(xiàn)示例詳解

    Java excel數(shù)據(jù)導(dǎo)入mysql的實(shí)現(xiàn)示例詳解

    今天教大家如何使用Java將excel數(shù)據(jù)導(dǎo)入MySQL,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴呢很有幫助,需要的朋友可以參考下
    2022-08-08
  • Java?事務(wù)注解@Transactional回滾(try?catch、嵌套)問題

    Java?事務(wù)注解@Transactional回滾(try?catch、嵌套)問題

    這篇文章主要介紹了Java?@Transactional回滾(try?catch、嵌套)問題,Spring?事務(wù)注解?@Transactional?本來可以保證原子性,如果事務(wù)內(nèi)有報(bào)錯(cuò)的話,整個(gè)事務(wù)可以保證回滾,但是加上try?catch或者事務(wù)嵌套,可能會(huì)導(dǎo)致事務(wù)回滾失敗
    2022-08-08
  • 一文帶你搞懂Java中的遞歸

    一文帶你搞懂Java中的遞歸

    這篇文章主要為大家詳細(xì)介紹了Java中的遞歸的實(shí)現(xiàn)以及應(yīng)用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java有一定幫助,需要的可以參考一下
    2022-10-10
  • JVM?jstack實(shí)戰(zhàn)之死鎖問題詳解

    JVM?jstack實(shí)戰(zhàn)之死鎖問題詳解

    如果在生產(chǎn)環(huán)境發(fā)生了死鎖,我們將看到的是部署的程序沒有任何反應(yīng)了,這個(gè)時(shí)候我們可以借助?jstack進(jìn)行分析,下面我們實(shí)戰(zhàn)操作查找死鎖的原因
    2022-10-10
  • 阿里云OSS域名配置及簡(jiǎn)單上傳的示例代碼

    阿里云OSS域名配置及簡(jiǎn)單上傳的示例代碼

    這篇文章主要介紹了阿里云OSS域名配置及簡(jiǎn)單上傳的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08

最新評(píng)論