簡單總結一下我理解的專案構建的流程吧:
首先,專案的結構大概分為這麼幾個檔案,controller,services,幾個實體類的檔案,還有mapper,以及mapper對應的mapper.xml檔案,然後是專案建立時自動生成的啟動類,最後是前端的html檔案,實現網頁的構建
然後講一下我的理解
Controller:
功能: 控制器負責處理使用者的請求,呼叫相應的服務邏輯,並返回檢視(HTML頁面或其他響應)。
關係: 它通常會依賴於服務層(Services)來完成業務邏輯。
Services:
功能: 服務層處理具體的業務邏輯。它將Controller收到的請求進行處理,進行必要的資料驗證和業務邏輯計算。
關係: 服務層通常會呼叫資料訪問層(Mapper)來進行資料庫操作,返回處理後的結果給控制器。
實體類 (Entities):
功能: 實體類對應資料庫中的表,通常代表一種業務物件。每個實體類的屬性與資料庫表中的欄位一一對應。
關係: 實體類作為資料傳輸物件(DTO)在服務層和資料訪問層之間傳遞。
Mapper:
功能: Mapper是與資料庫互動的介面,定義了與資料庫表對應的操作(如增刪改查)。通常配合MyBatis等ORM框架使用。
關係: Mapper 介面會使用對應的 mapper.xml 檔案來定義SQL語句。
Mapper.xml:
功能: 該檔案包含SQL語句的具體實現,定義瞭如何將Entity類與資料庫表進行相互對映。
關係: 該檔案為Mapper介面提供具體的SQL實現,執行資料庫操作。
最後具體的工作原理是這樣的: 使用者在瀏覽器中輸入URL或提交表單,產生HTTP請求, 平臺接收到請求後,由DispatcherServlet將其轉發給合適的Controller, Controller根據請求的具體內容,呼叫相應的Service方法, Service對資料進行處理,可能會呼叫Mapper來訪問資料庫,之後Mapper使用對應的Mapper.xml檔案中的SQL語句進行資料庫操作,從資料庫獲得資料後,Service將其返回給Controller, Controller將處理後的資料傳遞給檢視層(HTML檔案),最終生成返回給使用者的完整HTML頁面。最終形成響應介面。