DAO層:
叫做數據訪問層,全稱為date access object ,是一種比較底層,比較基礎的操作,具體到某個表的增刪改查,也就是說某個dao一定是和數據庫的某張表一一對應,其中封裝了增刪改查的操作。建議Dao只做原子操作,增刪改查。
Service層:
叫服務層,被稱為服務,粗略的理解就是對一個dao 或者多個dao進行再次封裝,封裝成一個服務,所以這里就不會是一個原子操作了,需要事務控制。
需要根據系統的實際業務需求進行邏輯代碼的編寫,有些業務邏輯需要通過與數據庫交互的,則業務邏輯層需要調用數據訪問層(dao)的相關方法實現與數據庫的交互,對於一些不需要與數據庫進行交互的,則直接編寫業務代碼,將執行結果反饋給(Controller)即可;
Controller層:
負責請求轉發,接收頁面過來的參數,傳給service處理,接到返回值,再傳給頁面。只負責與數據庫的數據交互,將數據進行存儲讀取操作
總結:
個人理解DAO面向表,Service面向業務。后端開發時先數據庫設計出所有表,然后對每一張表設計出DAO層,然后根據具體的業務邏輯進一步封裝DAO層成一個Service層,對外提供成一個服務