Java中DAO層、Service層和Controller層的區別


DAO層:

叫做數據訪問層,全稱為date access object ,是一種比較底層,比較基礎的操作,具體到某個表的增刪改查,也就是說某個dao一定是和數據庫的某張表一一對應,其中封裝了增刪改查的操作。建議Dao只做原子操作,增刪改查。

Service層:

叫服務層,被稱為服務,粗略的理解就是對一個dao 或者多個dao進行再次封裝,封裝成一個服務,所以這里就不會是一個原子操作了,需要事務控制。

需要根據系統的實際業務需求進行邏輯代碼的編寫,有些業務邏輯需要通過與數據庫交互的,則業務邏輯層需要調用數據訪問層(dao)的相關方法實現與數據庫的交互,對於一些不需要與數據庫進行交互的,則直接編寫業務代碼,將執行結果反饋給(Controller)即可;

Controller層:

負責請求轉發,接收頁面過來的參數,傳給service處理,接到返回值,再傳給頁面。只負責與數據庫的數據交互,將數據進行存儲讀取操作

總結:
個人理解DAO面向表,Service面向業務。后端開發時先數據庫設計出所有表,然后對每一張表設計出DAO層,然后根據具體的業務邏輯進一步封裝DAO層成一個Service層,對外提供成一個服務

 


免責聲明!

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



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