iBatis--iBatis 是什麼?

一.爲啥使用iBatis?

    在 Hibernate、JPA 這樣的一站式對象 / 關係映射(O/R Mapping)解決方案盛行之前,iBaits 基本是持久層框架的不二選擇。即使在持久層框架層出不窮的今天,iBatis 憑藉着易學易用輕巧靈活等特點,也仍然擁有一席之地。尤其對於擅長 SQL 的開發人員來說,iBatis 對 SQL 和存儲過程的直接支持能夠讓他們在獲得 iBatis 封裝優勢的同時而不喪失 SQL 調優的手段,這是 Hibernate/JPA 所無法比擬的。具體而言,使用 iBatis 框架的主要優勢主要體現在如下幾個方面:

首先,iBatis 封裝了絕大多數的 JDBC 樣板代碼,使得開發者只需關注 SQL 本身,而不需要花費精力去處理例如註冊驅動,創建 Connection,以及確保關閉 Connection 這樣繁雜的代碼。

其次,iBatis 可以算是在所有主流的持久層框架中學習成本最低,最容易上手和掌握的框架。雖說其他持久層框架也號稱門檻低,容易上手,但是等到你真正使用時會發現,要想掌握並用好它是一件非常困難的事。在工作中我需要經常參與面試,我曾聽到過很多位應聘者描述,他們所在的項目在技術選型時選擇 Hibernate,後來發現難以駕馭,不得不將代碼用 JDBC 或者 iBatis 改寫。


二.iBatis是什麼?    

    iBatis是一個持久層框架,它能夠自動在java、.NET和Ruby on Rails中與SQL數據庫和對象之間的映射。映射是從應用程序邏輯封裝在XML配置文件中的SQL語句脫鉤。

    iBatis是一個輕量級的框架和持久性API適合持久化的POJO(普通Java對象)。

    iBatis是被稱爲一個數據映射和映射需要的類的屬性和數據庫中的表的列之間的參數和結果。

    iBatis和其他持久化框架,如Hibernate之間的顯著區別在於,iBATIS強調使用SQL,而其他的框架通常使用一個自定義的查詢語言,具有Hibernate查詢語言(HQL)或Enterprise JavaBeans的查詢語言(EJB QL)。




三.iBatis的設計理念:

iBatis提供了以下的設計理念:

  • 簡單: iBATIS的被廣泛認爲是可用的最簡單的持久化框架之一。
  • 快速開發:iBATIS的理念是盡一切可能,以方便超快速開發。
  • 可移植性: iBATIS可用於幾乎任何語言或平臺,如Java,Ruby和C#,微軟.NET實現。
  • 獨立的接口:iBATIS提供獨立於數據庫的接口和API,幫助應用程序的其餘部分保持獨立的任何持久性相關的資源,
  • 開源:iBATIS是自由和開放源碼軟件。

四.iBatis的優點

 下面是使用iBATIS的一些優勢:

  • 支持存儲過程:iBATIS的SQL封裝以存儲過程的形式,使業務邏輯保持在數據庫之外,應用程序更易於部署和測試,更便於移植。
  • 支持內嵌的SQL:預編譯器不是必需的,並有完全訪問所有的SQL語句的特性。
  • 支持動態SQL: iBATIS特性提供基於參數動態生成SQL查詢。
  • 支持O / RM:iBATIS支持許多相同的功能作爲一個O / RM工具,如延遲加載,連接抓取,緩存,運行時代碼生成和繼承

    

五.iBatis到MyBatis

     iBatis 自從在 Apache 軟件基金會網站上發佈至今,和他的明星兄弟們(Http Server,Tomcat,Struts,Maven,Ant 等等)一起接受者萬千 Java 開發者的敬仰。在 Apache 寄居六年之後,iBatis 將代碼託管到 Google Code。在聲明中給出的主要理由是,和 Apache 相比,Google Code 更有利於開發者的協同工作,也更能適應快速發佈。於此同時,iBatis 更名爲 MyBatis。

    從 iBatis 到 MyBatis,不只是名稱上的變化,MyBatis 提供了更爲強大的功能,同時並沒有損失其易用性,相反,在很多地方都藉助於 JDK 的泛型和註解特性進行了簡化。iBatis 確實該退休了,因爲一個更爲出色的繼任者經過 10 個 Beta 版本的蛻變已然出現在我們的面前。



   本文只是簡單的對iBatis進行理論式介紹,它的好處還需要我們在應用中得以驗證!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章