MyBatis的前身叫iBatis,本是apache的一個開源項目, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis。MyBatis 是一款一流的支持自定義SQL、存儲過程和高級映射的持久化框架。mybatis入門上手非常快,易學易用,是開發(fā)項目的一個不錯的選擇。MyBatis 幾乎消除了所有的JDBC 代碼,也基本不需要手工去設置參數(shù)和獲取檢索結果。MyBatis 能夠使用簡單的XML 格式或者注解進行來配置,能夠映射基本數(shù)據(jù)元素、Map 接口和POJOs(普通java 對象)到數(shù)據(jù)庫中的記錄。
MyBatis是支持普通SQL查詢,存儲過程和高級映射的優(yōu)秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對象)映射成數(shù)據(jù)庫中的記錄
Mybatis的功能架構分為三層
1) API接口層:提供給外部使用的接口API,開發(fā)人員通過這些本地API來操縱數(shù)據(jù)庫。接口層一接收到調用請求就會調用數(shù)據(jù)處理層來完成具體的數(shù)據(jù)處理。
2) 數(shù)據(jù)處理層:負責具體的SQL查找、SQL解析、SQL執(zhí)行和執(zhí)行結果映射處理等。它主要的目的是根據(jù)調用的請求完成一次數(shù)據(jù)庫操作。
3) 基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的數(shù)據(jù)處理層提供最基礎的支撐。