1. 程式人生 > >關於ssm的工作原理以及相應的功能開發(一)

關於ssm的工作原理以及相應的功能開發(一)

SSM框架的Web程式主要用到了三個技術:

Spring:用到了註解和自動裝配,就是Spring的兩個精髓IOC(反向控制)和 AOP(面向切面程式設計)。
SpringMVC:用到了MVC模型,將邏輯程式碼放到Controller層處理。
Mybatis:用到了與資料庫打交道的層面,放在所有的邏輯之後,處理與資料庫的CRUD相關的操作。

 

 

檔案目錄

檔案目錄2

 

 

專案執行順序:

1.Jsp

jsp伺服器圖片

提交表單,表單資訊提交到 UserController ,該檔案根據 action 進行分離

2.UserController.java

controller

獲得Jsp傳來的 action 後 根據自己的函式呼叫 位於 [SSM/Java Resources/src/com.service/UserService.java]  的userService.java 檔案下的 findbyId函式進行查詢

3.UserService.java  [SSM/Java Resources/src/com.service/UserService.java]

service

 函式中呼叫了Userdao(UserMapper.java) [SSM/Java Resources/src/com.mapper/UserMapper.java]  中的 selectByPrimaryKey函式

 

4.UserMapper.java  [SSM/Java Resources/src/com.mapper/UserMapper.java] 

mapper

 圖中的函式 僅為定義,是互動介面,具體的實現在 Mapper.xml(Mybatis) [SSM/JavaResources/src/com.mapper/UserMapper.xml]

 

5. Mapper.xml(Mybatis) [SSM/JavaResources/src/com.mapper/UserMapper.xml]

函式具體實現 如上圖所示,函式中呼叫的屬性在User中宣告

 

6. entity(User)[SSM/Java Resources/src/com.pojo/user.java]

user

 

 

 

要完成一個功能:
   1.    先寫實體類entity(User)[SSM/Java Resources/src/com.pojo/user.java]

定義物件的屬性,(可以參照資料庫中表的欄位來設定,資料庫的設計應該在所有編碼開始之前)。


    2.   寫Mapper.xml(Mybatis) [SSM/Java Resources/src/com.mapper/UserMapper.xml]

其中定義你的功能,對應要對資料庫進行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。


     3.  寫Mapper.java(UserDao) [SSM/Java Resources/src/com.mapper/UserMapper.java]

將Mapper.xml中的操作按照id對映成Java函式。


     4.  寫Service.java   [SSM/Java Resources/src/com.service/UserService.java]

為控制層提供服務,接受控制層的引數,完成相應的功能,並返回給控制層。

     5.  寫Controller.java   [SSM/Java Resources/src/com.controller/UserController.java]

連線頁面請求和服務層,獲取頁面請求的引數,通過自動裝配,對映不同的URL到相應的處理函式,並獲取引數,對引數進行處理,之後傳給服務層。  

     6. 寫JSP頁面呼叫

請求哪些引數,需要獲取什麼資料。

 

簡單點就是:

DataBase ===> Entity ===> Mapper.xml ===> Mapper.Java ===> Service.java ===> Controller.java ===> Jsp.

 

UserDao.java(是一個interface)===>Mybatis-mapper.xml(實現UserDao的功能)

UserService.java(是一個interface)===>UserServiceImpl.java(實現UserService的功能)

UserService.java可以使用UserDao.java裡面的功能。

 

 

轉載並修改:

http://blog.csdn.net/aitcax/article/details/40535281