三層架構 :
界面層/表現層 UI
業務邏輯層 BLL 針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理。
數據訪問層 DAL 訪問數據庫
mvc :
而 MVC 是在三層架構的基礎上設計的一種框架型架構,三層架構是一種宏觀的概念,而 MVC 就是一種比較具體的三層架構的框架實現
View 同UI
Controller 用於將用戶請求轉發給相應的Model進行處理,並將處理Model的計算結果向用戶提供相應響應。
Model 承載數據,並對用戶提交請求進行計算的模塊。其分為兩類,一類稱為數據承載Bean,一類稱為業務處理Bean。所謂數據承載Bean是指實體類,專門承載業務數據的,如Student、User等。而業務處理Bean則是指Service或Dao對象,專門用於處理用戶提交請求的。
常用項目分層:
備注: 此處model不同於mvc的model!
model層即entity層。存放我們的實體類,與數據庫中的屬性值基本保持一致,用於將數據變成java對象,提供給其他層使用。
mapper層即dao層,對數據庫進行數據持久化操作,增刪改查等,直接跟數據庫打交道,他的方法語句是直接針對數據庫操作的。
service層。存放業務邏輯處理,也是一些關於數據庫處理的操作,不直接和數據庫打交道而是通過mapper,提供和接口還有接口的實現方法,
項目實現(這里很復雜,注意每一步的意義)
Service接口 定義最基本的操作 增刪改查
AbstractService類 實現Service接口 並導入mapper層(即使用mapper增刪改查)
xxxxService接口 繼承Service接口,傳入model
xxxxServiceImpl類 實現xxxxService接口,繼承AbstractService類(也導入了model)
mbg生成的查詢都是特制的example,靈活性差
query類 接收參數生成自定義example
controller層,即控制器,controller通過接收前端傳過來的參數進行業務操作,在返回一個指定的路徑或者數據表。
導入service層,並使用service中的方法