什麼是MyBatis
MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis 可以使用簡單的 XML 或註解來配置和映射原生類型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 對象)爲數據庫中的記錄
與其他持久層框架對比
如果從生活中比喻的話,JDBCTemplate必做洗衣板,因爲它只能作爲一個工具,而Hibernate可以比喻爲全自動洗衣機,它並不夠靈活,比如要定製SQL之類,而MyBatis通過HTML進行集中的配置,可以定製SQL。
與ibatis的關係
ibatis就是MyBatis前身,他們有很多地方很相似,但是在sqlMap裏面已經有很多地方變動了
關於Mybatis的動態代理
3.3之前是使用CGLIB實現
3.3之後使用JDK的Proxy來實現
源碼下載
爲了更好的分析源碼,其實我推薦大家都使用fork的方式,當然因爲每個人水平不同,我還是使用下載方式說明把,我以下都是使用命令解壓 下載這些,window直接手動操作就行
下載mybatis
wget https://github.com/mybatis/mybatis-3/archive/3.4.x.zip
因爲依賴關係,需要下載parent
wget https://github.com/mybatis/parent/archive/master.zip
都下載在同一個目錄中
# 解壓並命名爲 mybatis-3
unzip mybatis-3-3.4.x.zip -d mybatis-3
# 解壓並命名爲 parent
unzip parent-master.zip -d parent
進入parent目錄,進行編譯
cd parent
mvn clean install
進入mybatis3的目錄
cd mybatis-3
mvn clean
mvn install -Dmaven.test.skip=true
idea中使用
Import Project 項目到工程中
選擇maven方式
選擇工程的語言版本
設置Java Compiler
如果有報錯,可以嘗試刪除掉部分依賴,比如
<!--
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pdf-plugin</artifactId>
</plugin>
-->
運行測試
隨便找一個測試,運行