Mybatis原理詳解


    在這篇博文中小編將給大家簡單介紹一下Mybatis的基本原理。


【什么是Mybatis】

Mybatis本是apache的一個開源項目iBatis2010年這個項目由apache software foundation遷移到了google code,並且改名為MyBatis

iBatis一詞來源於"internet""abatis"的組合,是一個基於java的持久層框架。iBatis提供的持久層框架包括SQLMapsData Access Objects(DAO)


【基本功能】

Mybatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。Mybatis使用簡單的XML或注解用於配置和原始映射,將接口和javaPOJOs映射成數據庫中的記錄。

每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。SqlSessionFactoryBuilder可以從一個xml配置文件或者一個預定義的配置類的實例獲得。

xml文件構建sqlsessionfactory實例是非常簡單的事情。推薦在這個配置中使用類似路徑資源,但你可以使用任何Reader實例,包括用文件路徑或file://開頭的url創建實例。MyBatis有一個實用類——resources,它有很多方法,可以方便地從類路徑及其他位置加載資源。


【框架介紹】

1)基本框圖



2)原理詳解:

·Mybatis配置:sqlmapConfig.xml,此文件作為Mybatis的全局配置文件,配置了Mybatis的運行環境等信息。mapper.xml即sql映射文件,文件中配置了操作數據庫的sql語句。此文件需要在SqlMapConfig.xml中加載。

·通過Mybatis環境等配置信息過早sqlsessionfactory即會話工廠

·由會話工廠創建sqlsession即會話,操作數據庫需要通過sqlsession進行。

·mybatis底層自定義了Executor執行器接口操作數據庫,Executor接口有兩個實現,一個是基本執行器,一個是緩存執行器。

·Mapped Statement也是mybatis一個底層封裝對象,它保障了mybatis配置信息及sql映射信息等。mapper.xml文件中一個sql對應一個Mapped Statement獨享,sql的id就是mapped statement的id。

·Mapped Statement對sql執行輸入參數定義,包括Hashmap、基本類型、pojo、Executor通過Mapped Statement在執行sql前將輸入的java對象映射到sql中,輸入參數映射就是jdbc編程中對prepared Statement設置參數。

·Mapped Statement對sql執行輸出結果進行定義,包括Hashmap、基本類型、pojo、Executor通過Mapped Statement在執行sql后將輸出結果映射到java對象中,輸出結果映射過程相當於jdbc編程中對結果的解析處理過程。


【更多參考】

可參考http://www.mybatis.org/mybatis-3/zh/index.html,進行深入學習!



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM