什么是mybatis
MyBatis 是一款優(yōu)秀的持久層框架
它支持自定義 SQL、存儲過程以及高級映射。
MyBatis 免除了幾乎所有的 JDBC 代碼以及設置參數(shù)和獲取結果集的工作。MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對象)為數(shù)據(jù)庫中的記錄。
MyBatis 本是apache的一個開源項目iBatis, 2010年這個項目由apache software foundation 遷移到了google code,并且改名為MyBatis 。2013年11月遷移到Github。
如何獲取mybatis
- maven
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
github
中文文檔
1.2什么是持久層
-
數(shù)據(jù)持久化
持久化就是將持久狀態(tài)和順勢狀態(tài)轉化的過程
數(shù)據(jù)庫,io文件持久化
-
持久層
dao service controller層
完成持久化的代碼塊
-
為什么需要mybatis
傳統(tǒng)的jdbc復雜,簡化
將數(shù)據(jù)存入數(shù)據(jù)庫
優(yōu)點
簡單易學:本身就很小且簡單。沒有任何第三方依賴,最簡單安裝只要兩個jar文件+配置幾個sql映射文件易于學習,易于使用,通過文檔和源代碼,可以比較完全的掌握它的設計思路和實現(xiàn)。
靈活:mybatis不會對應用程序或者數(shù)據(jù)庫的現(xiàn)有設計強加任何影響。 sql寫在xml里,便于統(tǒng)一管理和優(yōu)化。通過sql語句可以滿足操作數(shù)據(jù)庫的所有需求。
解除sql與程序代碼的耦合:通過提供DAO層,將業(yè)務邏輯和數(shù)據(jù)訪問邏輯分離,使系統(tǒng)的設計更清晰,更易維護,更易單元測試。sql和代碼的分離,提高了可維護性。
提供映射標簽,支持對象與數(shù)據(jù)庫的orm字段關系映射
提供對象關系映射標簽,支持對象關系組建維護
提供xml標簽,支持編寫動態(tài)sql。