本文參考以下這篇優秀文章java
http://www.yihaomen.com/article/java/302.htm
數據庫
1、什麼是myBatis?緩存
myBatis是一個基於java的持久層框架,它支持普通SQL查詢、支持存儲過程和高級映射。它使用簡單的XML或者註解來配置映射,將接口和POJOS(普通java對象)映射成數據庫中的記錄。
session
持久層:就是將數據保存到存儲設備中,供之後使用。mybatis
數據持久化:就是將內存中的數據保存到磁盤加以固化,持久化的實現過程則是經過各類關係數據庫來完成。架構
持久層框架:Hibernate和myBatis。app
2、myBatis功能架構框架
myBatis功能架構分爲三層:工具
1>API接口層:提供給外部開發人員使用,開發人員經過這些本地API來操縱數據庫。接口層一旦接收到調用請求就會調用數據處理層來完成具體的數據處理。orm
2>數據處理層:負責SQL查找、SQL解析、SQL執行和執行結果映射處理。它主要的工做是根據調用請求來完成一次數據庫操做。
3>基礎支撐層:負責最基礎的功能支撐,包括鏈接管理、事務管理、配置加載和緩存處理等。
3、框架架構詳解
1>加載配置:配置信息來源於兩處:一是配置文件;二是java代碼的註解。它的功能是將SQL的配置信息加載成一個個mappedStatement對象存儲到內存中。
2>SQL解析:當API接口層接收到調用請求時,會接收到傳入SQL的ID和傳入參數(參數能夠是map對象、javaBean或者基本數據類型),mybatis會根據SQL的id找到對應的mappedStatement,而後根據傳入參數對mappedStatement進行解析,解析成 最終要執行的SQL語句和參數。
3>SQL執行:將2>獲得的SQL語句送進數據庫執行,獲得執行後的結果。
4>結果映射:將數據庫取回的結果按照映射的配置進行轉換,能夠轉換成hashMap、javaBean或者基本數據類型,將最終結果返回。
4、動態SQL
它是myBatis最強大的特性之一。它能夠很好的解決SQL的拼接問題。
5、ORM工具思想
ORM(Object Relational Mapping,對象關係映射),它是一種程序技術,用於實現javaBean屬性與數據庫字段之間的轉換。
orm思想
1>從配置文件(一般是xml配置文件)中獲得sessionFactory
2>由sessionFactory產生session
3>在session中完成對數據的增刪改查和事務提交等
4>關閉session
5>在java對象和數據庫之間作mapping配置。
6、mybatis實戰教程系列
//查看如上參考網址