1. 程式人生 > >SSM原理,簡要分析(僅供個人參考)

SSM原理,簡要分析(僅供個人參考)

1.作用

SSM框架是spring MVCspringmybatis框架的整合,是標準的MVC模式,將整個系統劃分為表現層controller層service層DAO層四層。

使用spring MVC負責請求的轉發和檢視管理,spring實現業務物件管理,mybatis作為資料物件的持久化引擎。

2.原理

2.1 SpringMVC

使用者傳送請求,dispatcherServlet呼叫處理器對映器尋找處理請求的handler,返回handler的執行鏈,dispatcherservlet請求呼叫handler處理請求,handler介面卡找到handler,即controller,controller使用請求的內容,呼叫service業務方法進行處理,service方法又呼叫mapper對資料庫進行操作,返回操作結果給controller,controller封裝成modelandView返回給dispatcherServlet,dispatcherServlet將modelandview傳給檢視解析器,,檢視解析器返回真正的view,通過渲染檢視,將資料填充到request域,以網頁的形式展現給使用者;

2.2Mybatis

mybatis是對jdbc的封裝,它讓資料庫底層操作變的透明。mybatis的操作都是圍繞一個sqlSessionFactory例項展開的。mybatis通過配置檔案關聯到各實體類的Mapper檔案,Mapper檔案中配置了每個類對資料庫所需進行的sql語句對映。在每次與資料庫互動時,通過sqlSessionFactory拿到一個sqlSession,再執行sql命令。

sqlMapConfig.xml(mybatis的全域性配置檔案,名稱不固定)配置了資料來源,事務等執行環境,配置對映檔案,mapper.xml

sqlSeesionFactory(會話工廠),根據配置檔案建立工廠作用:建立sqlSession,

mysql

sqlsession(會話)

作用:操作資料庫(sql的crud操作)

Executor(執行器)也是一個介面(基本執行器,快取執行器)作用:sqlsession是通過執行器來操作資料庫的

mapped statement(底層封裝物件)

作用:對操作資料庫儲存封裝,包括sql語句、輸入引數、輸入結果型別

輸入引數型別

java簡單類

hashmap

pojo自定義型別

輸出結果型別

java簡單類

hashmap

pojo自定義型別

全域性配置檔案裡面配置了資料來源,事務,掃描別名等執行環境;然後配置pojo對應的對映mapper檔案,sqlSessionFactory會根據mapper的xml配置檔案,建立對應的sqlSession,sqlSession通過執行器來操作資料庫,mapperstatement封裝了一些sql需要傳入的引數和sql語句,通過執行器獲取資料庫中的結果集。

過程:定義pojo物件,屬性,生成對應的set和get方法;書寫Mapper.xml,定義增刪改查功能;書寫mapper.java介面檔案,定義介面方法,與mapper.xml定義的方法保持一致;書寫service檔案,為controller服務,接受controller的引數,將結果返回給controller;書寫controller,連線頁面請求和後臺,獲取頁面引數,對引數進行處理後傳給service的方法。

書寫jsp頁面,請求哪些引數,獲取哪些資料。

2.3 Spring

我們平時開發接觸最多的估計就是IOC容器,它可以裝載bean(也就是我們Java中的類,當然也包括service dao裡面的),有了這個機制,我們就不用在每次使用這個類的時候為它初始化,很少看到關鍵字new。另外spring的aop,事務管理等等都是我們經常用到的。