MyBatis 簡介
1. 前言
大家好,從本小節開始,我們將一起學習MyBatis
wiki系列。
MyBatis 是目前國內 Java 領域中使用最為廣泛的持久化框架,它簡單易用,卻功能強大。
我們希望整理出 MyBatis “百分之二十”的知識,幫你辦到“百分之八十”的事情,當然這里的知識遠非百分之二十。
作為 MyBatis 系列的第一小節,我們將為你簡單的介紹什么是 MyBatis,MyBatis 能做什么以及學習 MyBatis 的注意事項。
慕課贈言:吾嘗終日而思矣,不如須臾之所學也。
2. 什么是 MyBatis
MyBatis 是一款優秀的持久層
框架,它支持定制化 SQL、存儲過程以及高級映射。
與其它 ORM 框架不同,MyBatis 沒有將 Java 對象與數據表關聯起來,而是作為 Java 方法和 SQL 語句的橋梁,我們一般稱它為“半自動化 ORM ”框架。
3. MyBatis 能做什么
- MyBatis 可以方便地定制化 SQL, 操縱數據庫對象;
- MyBatis 可以使用簡單的 XML 或注解來配置和映射原生類型、接口和 Java 的 POJO 為數據庫中的記錄;
- MyBatis 提供了強大的動態 SQL 功能,幫助你更加靈活地使用 SQL;
- MyBatis 提供了插件增強機制,你可以輕松集成其它諸如分頁的插件。
4. Hibernate 與 MyBatis 對比
Hibernate 和 MyBatis 是 Java 中使用最為廣泛的兩個 ORM 框架,二者各有千秋,我們將它們對比并總結出如下兩點:
-
Hibernate: 全自動化 ORM 框架,數據庫移植性好,基礎業務幾乎不需要寫 SQL;易學難精,上手簡單但熟練使用需要閱讀大量文檔,框架結構復雜。
-
MyBatis: 半自動化 ORM 框架,數據庫移植性一般,基礎業務仍需寫 SQL,但可以通過基礎 Mapper 來簡化;易學易用,上手簡單,結構精簡清晰,易深入學習。
對比發現: Hibernate 適合在需求明確、業務固定的項目中使用,如 OA、ERP 項目;MyBatis 適合在需求多變,快速迭代的項目中使用,如互聯網的電商項目。
5. 版本說明
本教程基于 MyBatis3.5.4
版,MySQL 數據庫務必使用5.7
以上的版本,在項目實踐環節會有對應其它庫版本的詳細說明。
6. 學習基礎
學習 MyBatis 需要一定的前置知識,我們希望你:
- 擁有一定的 SQL 和 Java 基礎;
- 了解 JDBC 和 數據庫的基本知識。
7. 注意事項
- MyBatis 在開發中會書寫大量的 SQL,對于 SQL 關鍵字我們統一大寫;
- 在 MyBatis 標簽中書寫 SQL 語句是可以不用在句尾添加
;
的,但若是其它環境下,務必記得加上;
; - 學習 MyBatis 需要一定的實踐,請務必跟隨我們一起實操;
- MyBatis 實踐需要數據庫環境,我們默認使用 MySQL,請確保你也有可用的數據庫環境;
- 本教材聚焦在如何使用 MyBatis,對于 SQL 使用我們不做過多探討。