dao、pojo、service、controller、mapper、Impl、bo、vo、po、domain都是什么?


0.前言

學習ssm框架時看視頻遇到這些概念,一開始都被搞混了,現在來區分一下。首先了解兩個概念:
MVC是model+ view + controller
SSM 是spring + springMVC + mybatis

1.關系示意圖

記住兩句話:業務層調數據層。控制層調業務層

在java中可以表示成下面這種情況:

2.區別和聯系

(1)DAO(mapper),DAO= Data Acess Object, 數據持久層,對數據庫進行持久化操作,負責跟數據庫打交道。通常我們在DAO層里寫接口,里面有與數據打交道的方法。SQL語句通常寫在mapper文件里。

(2)Service,業務層或服務層,主要負責業務模塊的邏輯應用設計。 Service層的實現,具體調用到已經定義的DAO接口,封裝service層的業務邏輯有利於通用的業業務邏輯的獨立性和重復利用性。如果把Dao層當作積木,那么Service層則是對積木的搭建。

(3)Controller, 負責具體的業務模塊流程的控制。此層要調用Service層的接口去控制業務流程。

(4)Pojo 全稱Plain Ordinary Java Object ,數據庫實體類,有的地方也直接寫成entity。也可以理解為domain,一般是跟數據庫對應好的一個實體類。

(5)Bo ,bussiness object,表示業務對象的意思。bo就是把業務邏輯封裝成一個對象,這個對象可以包括一個或多個對象。通過調用dao方法,結合Po或Vo進行業務操作。

(6)Vo ,value object表示值對象的也i是,通常用於業務層之間的數據傳遞。

(7)Po, persistant object, 代表持久層對象的意思,對應數據庫中表的字段,可以理解為一個po就是數據庫中的一條記錄。

(8)Impl 全稱是 implement, 實現的意思,主要用於實現接口。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2024 CODEPRJ.COM