DAO層叫數據訪問層,全稱為data access object,屬於一種比較底層,比較基礎的操作,對於數據庫的操作,具體到對於某個表的增刪改查,
也就是說某個DAO一定是和數據庫的某一張表一一對應的,其中封裝了增刪改查基本操作,建議DAO只做原子操作,增刪改查。
Service層叫服務層,被稱為服務,粗略的理解就是對一個或多個DAO進行的再次封裝,封裝成一個服務,所以這里也就不會是一個原子操作了,需要事物控制。
ps:
service是將dao層的增刪改查基本操作調用過來,封裝到servce類中,集成一個服務。
Controller層:業務層,管理用戶的操作,用戶界面傳過的請求,調用對應的服務(service),完成用戶請求的處理;
總結這三者,通過例子來解釋:
Controller像是服務員,顧客點什么菜,菜上給幾號桌,都是ta的職責;
Service是廚師,action送來的菜單上的菜全是ta做的;
Dao是廚房的小工,和原材料打交道的事情全是ta管。
相互關系是,小工(dao)的工作是要滿足廚師(service)的要求,廚師要滿足服務員(Controller)轉達的客戶(頁面用戶)的要求,服務員自然就是為客戶服務嘍。