MyBatis是一款一流的支持自定義SQL、存儲過程和高級映射的一個數據持久層的框架。java
MyBatis幾乎消除了全部的JDBC代碼,也基本不須要手工去設置參數和獲取檢索結果。程序員
MyBatis可以使用簡單的XML格式或者註解進行來配置,可以映射基本數據元素、Map接口和POJOs(普通java對象)到數據庫中的記錄。sql
Mybatis的功能架構分爲三層:
- API接口層:提供給外部使用的接口API,開發人員經過這些本地API來操縱數據庫。接口層一接收到調用請求就會調用數據處理層來完成具體的數據處理。(就是API中提供封裝操做數據庫的方法)
- 數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操做。
- 基礎支撐層:負責最基礎的功能支撐,包括鏈接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來做爲最基礎的組件。爲上層的數據處理層提供最基礎的支撐。
特色:數據庫
MyBatis是一個半自動化的框架,須要本身配置SQL語句。緩存
靈活,效率高,程序員根據須要本身寫語句mybatis
輕量級框架,簡單,容易上手架構
Hibernate是一個全自動的框架,SQL語句由框架生成。框架
語句自動生成,有時候不靈活,spa
相對MyBatis複雜對象
完整jar包:mybatis核心包+依賴包+mysqljdbc驅動包