mybatis是一個java持久層框架,java中操做關係型 數據庫用的是jdbc,mybatis是對jdbc的一個封裝。java
MyBatis的前身叫iBatis,本是apache的一個開源項目, 2010年這個項目由apache software foundation 遷移到了google code,而且更名爲MyBatis。2013年11月遷移到Github。MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎全部的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或註解用於配置和原始映射,將接口和Java的POJOs(Plan Old Java Objects,普通的Java對象)映射成數據庫中的記錄。git
git(分佈式版本控制,當前比較流程)spring
MyBatis是一個優秀的持久層框架,它對jdbc的操做數據庫的過程進行封裝,使開發者只須要關注 SQL 自己,而不須要花費精力去處理例如註冊驅動、建立connection、建立statement、手動設置參數、結果集檢索等jdbc繁雜的過程代碼。sql
Mybatis經過xml或註解的方式將要執行的各類statement(statement、preparedStatemnt、CallableStatement)配置起來,並經過java對象和statement中的sql進行映射生成最終執行的sql語句,最後由mybatis框架執行sql並將結果映射成java對象並返回。 數據庫
Mybatis的功能架構分爲三層:apache
1) API接口層:提供給外部使用的接口API,開發人員經過這些本地API來操縱數據庫。接口層一接收到調用請求就會調用數據處理層來完成具體的數據處理。緩存
2) 數據處理層:負責具體的SQL查找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次數據庫操做。mybatis
3) 基礎支撐層:負責最基礎的功能支撐,包括鏈接管理、事務管理、配置加載和緩存處理,這些都是共用的東西,將他們抽取出來做爲最基礎的組件。爲上層的數據處理層提供最基礎的支撐。架構
mybatis架構app
一、從一個jdbc程序開始,經過jdbc 程序找到使用原生態的jdbc開發程序,存在哪些問題??經過學習mybatis,mybatis是如何解決這些問題。
二、mybatis的架構(重點)
三、mybatis的入門程序(重點)
實現 用戶的查詢、添加、修改、刪除。
四、mybatis開發dao的兩種方法。(重點)
原始的dao開發方式(dao接口和dao實現都須要編寫)
mapper代理方式(只須要寫dao接口)
五、輸入映射類型和輸出映射類型。
六、動態sql
高級知識
高級映射查詢(一對1、一對多、多對多)(重點)
查詢緩存
延遲加載
mybatis和spring整合(重點)
mybatis逆向工程 。