controller,service,dao,mapper,model層的作用
阿新 • • 發佈:2019-01-01
這幾天在學習springboot+mybatis框架,對於上面的幾個資料夾中應該存放什麼類,這些類有什麼功能,還是有些迷糊。通過網上資料現在大致已經瞭解了。記下來以後有了新的理解再加上去
首先來說一下業務邏輯:
Controller-->service介面-->serviceImpl-->dao介面-->daoImpl-->mapper-->db
一:Dao(Data Access Object):資料儲存物件
不管是什麼框架,我們很多時候都會與資料庫進行互動。如果遇到一個場景我們都要去寫SQL語句,那麼我們的程式碼就會很冗餘。所以,我們就想到了把資料庫封裝一下,讓我們的資料庫的交道看起來像和一個物件打交道,這個物件通常就是DAO。當我們操作這個物件的時候,這個物件會自動產生SQL語句來和資料庫進行互動,我們就只需要使用DAO就行了。
通常我們在DAO層裡面寫介面,裡面有與資料打交道的方法。SQL語句通常寫在mapper檔案裡面的。
二:Service:服務
服務是一個相對獨立的功能模組,主要負責業務邏輯應用設計。首先也要設計介面,然後再設計其實現該介面的類。這樣我們就可以在應用中呼叫service介面進行業務處理。service層業務實現,具體呼叫到已經定義的DAO的介面,封裝service層的業務邏輯有利於通用的業務邏輯的獨立性和重複利用性 。
三:Controller:控制器
主要負責具體業務模組流程的控制,會呼叫Service層的介面來控制業務邏輯
四:model:模型
模型通常認為是檢視(view)的核心,模型就是指檢視的資料