亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

MyBatis是什么

MyBatis 是一個開源、輕量級的數(shù)據(jù)持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 內部封裝了 JDBC,簡化了加載驅動、創(chuàng)建連接、創(chuàng)建 statement 等繁雜的過程,開發(fā)者只需要關注 SQL 語句本身。

MyBatis logo
MyBatis logo

數(shù)據(jù)持久化是將內存中的數(shù)據(jù)模型轉換為存儲模型,以及將存儲模型轉換為內存中數(shù)據(jù)模型的統(tǒng)稱。例如,文件的存儲、數(shù)據(jù)的讀取以及對數(shù)據(jù)表的增刪改查等都是數(shù)據(jù)持久化操作。

MyBatis 支持定制化 SQL、存儲過程以及高級映射,可以在實體類和 SQL 語句之間建立映射關系,是一種半自動化的 ORM 實現(xiàn)。其封裝性低于 Hibernate,但性能優(yōu)秀、小巧、簡單易學、應用廣泛。

ORM(Object Relational Mapping,對象關系映射)是一種數(shù)據(jù)持久化技術,它在對象模型和關系型數(shù)據(jù)庫之間建立起對應關系,并且提供了一種機制,通過 JavaBean 對象去操作數(shù)據(jù)庫表中的數(shù)據(jù)。

MyBatis 前身為 IBatis,2002 年由 Clinton Begin 發(fā)布。2010 年從 Apache 遷移到 Google,并改名為 MyBatis,2013 年又遷移到了 Github。

MyBatis 的主要思想是將程序中的大量 SQL 語句剝離出來,使用 XML 文件或注解的方式實現(xiàn) SQL 的靈活配置,將 SQL 語句與程序代碼分離,在不修改程序代碼的情況下,直接在配置文件中修改 SQL 語句。

MyBatis 與其它持久性框架最大的不同是,MyBatis 強調使用 SQL,而其它框架(例如 Hibernate)通常使用自定義查詢語言,即 HQL(Hibernate查詢語言)或 EJB QL(Enterprise JavaBeans查詢語言)。

MyBatis 官方文檔:https://mybatis.org/mybatis-3/zh/

優(yōu)點

  • MyBatis 是免費且開源的。

  • 與 JDBC 相比,減少了 50% 以上的代碼量。

  • MyBatis 是最簡單的持久化框架,小巧并且簡單易學。

  • MyBatis 相當靈活,不會對應用程序或者數(shù)據(jù)庫的現(xiàn)有設計強加任何影響,SQL 寫在 XML 中,和程序邏輯代碼分離,降低耦合度,便于同一管理和優(yōu)化,提高了代碼的可重用性。

  • 提供 XML 標簽,支持編寫動態(tài) SQL 語句。

  • 提供映射標簽,支持對象與數(shù)據(jù)庫的 ORM 字段關系映射。

  • 支持存儲過程。MyBatis 以存儲過程的形式封裝 SQL,可以將業(yè)務邏輯保留在數(shù)據(jù)庫之外,增強應用程序的可移植性、更易于部署和測試。

缺點

  • 編寫 SQL 語句工作量較大,對開發(fā)人員編寫 SQL 語句的功底有一定要求。

  • SQL 語句依賴于數(shù)據(jù)庫,導致數(shù)據(jù)庫移植性差,不能隨意更換數(shù)據(jù)庫。

使用場景

MyBatis 專注于 SQL 本身,是一個足夠靈活的 DAO 層解決方案。適用于性能要求高,且需求變化較多的項目,如互聯(lián)網(wǎng)項目。

如果您想了解 MyBatis 與 Hibernate 的區(qū)別,可閱讀學習《MyBatis和Hibernate的區(qū)別》一節(jié)。

拓展

如果您想了解 MyBatis 與 Hibernate 的區(qū)別,可閱讀學習《MyBatis和Hibernate的區(qū)別》一節(jié)。

閱讀條件

Mybatis-Plus(簡稱 MP)是 Mybatis 的增強工具,在 Mybatis 的基礎上只做增強不做改變,支持 Mybatis 所有原生的特性,為簡化開發(fā)、提高效率而生。有興趣的小伙伴可以參考 MyBatis-Plus 官網(wǎng)。