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

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

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

概念

DTO( Data Transfer Object):

數(shù)據(jù)傳輸對象,Service 或 Manager 向外傳輸?shù)膶ο蟆?/p>

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

VO( View Object):

顯示層對象,通常是 Web 向模板渲染引擎層傳輸?shù)膶ο蟆?/p>

POJO( Plain Ordinary Java Object):

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

DTO 實例代碼

/**
 * 封裝執(zhí)行后結(jié)果
 */
public class PersonInfoExecution {
	// 結(jié)果狀態(tài)
	private int state;
	// 狀態(tài)標識
	private String stateInfo;
	// 店鋪數(shù)量
	private int count;
	// 操作的personInfo(增刪改店鋪的時候用)
	private PersonInfo personInfo;
	// 獲取的personInfo列表(查詢店鋪列表的時候用)
	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......
}

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

可以這樣理解:

controller層-----> service層(接口—>接口實現(xiàn)類) -----> dao層的.mapper文件 -----> 和mapper層里的.xml文件對應

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

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

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

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

Mapper層 放置SQL查詢XML文件

Dao層 相當于XML文件的抽象類

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

相關(guān)文章

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

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

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

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

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

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

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

    spring-retry簡單使用方法

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

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

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

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

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

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

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

    一文帶你搞懂Java中的遞歸

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

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

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

    阿里云OSS域名配置及簡單上傳的示例代碼

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

最新評論