




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
主講人:崔浩延遲符Mybatis框架簡介與運行原理MyBatis入門與配置
JavaEE框架技術簡介ORM與持久化Mybatis簡介Mybatis運行原理ORM與持久化數據持久化一般指將內存中的數據或對象存儲到可長期保存的某種介質上,以使其存活時間比創建該對象的進程時間要長。在對數據或對象持久化后,可以重新獲取并能保證在沒有對其進行任何改動的情況下,與持久化之前的一樣。一般持久化的實現通過各種關系數據庫來完成。持久層就是專門負責持久化工作的邏輯層,由它統一與數據庫層打交道。持久層在數據存儲器中負責存儲或獲取數據的一組類和組件,持久層必須包括一個業務領域實體的模型,在持久層中封裝對數據庫訪問的細節,向業務邏輯公開接口。ORM與持久化對象-關系映射(Object/RelationMapping,ORM)是隨著面向對象的軟件方法發展而產生的,是為了解決面向對象與關系數據庫存在的互不匹配現象而產生的技術。對象和關系數據是業務實體的兩種表現形式,業務實體在內存中表現為對象,在數據庫中表現為關系數據。ORM通過使用描述對象和數據庫之間映射的元數據,將程序中的對象自動持久化到關系數據庫中。本質上就是將數據表映射為對象類,從一種形式轉換到另外一種形式。使用ORM技術,將在數據庫中直接進行的原始操作演變為對類的屬性和方法的操作,而間接更改數據表的數據。
如今流行的ORM產品很多,如:ApacheOJB、MyBatis、Cayenne、Hibernate等,MyBatis作為輕量級ORM模型,對面向對象特性的支持非常完備,完美的實現了對象模型和關系模型間的轉換,逐步確立了在JavaORM架構中領導地位。Mybatis簡介MyBatis本是apache的一個開源項目iBatis,2010年這個項目由apachesoftwarefoundation遷移到了googlecode,并且改名為MyBatis。BATIS一詞來源于“internet”和“abatis”的組合,是一個基于Java的持久層框架。MyBatis是一款優秀的持久層框架,它支持自定義SQL、存儲過程以及高級映射。MyBatis免除了幾乎所有的JDBC代碼以及設置參數和獲取結果集的工作。MyBatis可以通過簡單的XML或注解來配置和映射原始類型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java對象)為數據庫中的記錄。MyBatis的優點如下:MyBatis是一個“半成品”的“ORM”框架。作用于DAO(DataAccessObject)層。
和Hibernate相比,他是一個輕量級的選手。有著靈活的SQL的操作。
和JDBC相比,他實現了SQL和代碼的分離。可重用。
Mybatis框架運行原理-功能架構
Mybatis框架運行原理-功能架構MyBatis的功能架構分為三個層次:
(1)API接口層:提供給外部使用的接口API,開發人員通過這些本地API來操縱數據庫。接口層一接收到調用請求就會調用數據處理層來完成具體的數據處理。(2)數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操作。(3)基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。
Mybatis框架運行原理-運行原理
(1)讀取MyBatis的配置文件。mybatis-config.xml為MyBatis的全局配置文件,用于配置數據庫連接信息。(2)加載映射文件。映射文件即SQL映射文件,該文件中配置了操作數據庫的SQL語句,需要在MyBatis配置文件MyBatis-config.xml中加載。MyBatis-config.xml文件可以加載多個映射文件,每個文件對應數據庫中的一張表。(3)構造會話工廠。通過MyBatis的環境配置信息構建會話工廠SqlSessionFactory。(4)創建會話對象。由會話工廠創建SqlSession對象,該對象中包含了執行SQL語句的所有方法。(5)Executor執行器。MyBatis底層定義了一個Executor接口來操作數據庫,它將根據SqlSession傳遞的參數動態地生成需要執行的SQL語句,同時負責緩存的維護。(6)MappedStatement對象。在Executor接口的執行方法中有一個MappedStatement類型的參數,該參數是對映射信息的封裝,用于存儲要映射的SQL語句的id、參數等信息。(7)輸入參數映射。輸入參數類型可以是Map、List等集合類型,也可以是基本數據類型和POJO類型。輸入參數映射過程類似于JDBC對p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湖北省初中畢業生學業水平考試歷史綜合試卷(四)(學生版)
- 太原科技大學《播音與主持藝術》2023-2024學年第二學期期末試卷
- 浙江經濟職業技術學院《經典影視作品鑒賞》2023-2024學年第一學期期末試卷
- 江蘇省南通市如東縣2025屆五年級數學第二學期期末質量檢測模擬試題含答案
- 中國民航大學《美術學科名師教育藝術專題》2023-2024學年第二學期期末試卷
- 遼寧省盤錦興隆臺區七校聯考2025屆初三生物試題下學期周練試題含解析
- 湖北工程職業學院《高等數學c》2023-2024學年第一學期期末試卷
- 葫蘆島市老官卜中學2024-2025學年初三第一次聯考試卷(生物試題文)試題含解析
- 神木縣2024-2025學年數學四年級第二學期期末達標檢測試題含解析
- 江蘇省鎮江市新區2024-2025學年初三下第一次(4月)月考語文試題含解析
- 全套可編輯地圖
- 儀表聯鎖長期停運(摘除、變更)審批表
- GB 14934-2016食品安全國家標準消毒餐(飲)具
- 珍寶島藥業企業文化版
- 承插型盤扣式扣件鋼管模板支架驗收記錄表
- 國家綜合性消防救援隊伍消防員管理規定
- 蘇科版三年級上冊勞動第一課《包書皮》課件(定稿)
- 握筆姿勢詳解全解課件
- 《三會一課》培訓測試題
- Seminar_帶SPL的安全集成
- 國家開放大學《電工電子技術》章節自測題參考答案
評論
0/150
提交評論