IBATIS

iBATIS一詞來源於 “ internet ” 和 “ abatis ” 的組合 ， 是一個由Clinton Begin在2001年發起的開放源代碼項目 。 最初側重於密碼軟件的開發 ， 現在是一個基於Java的持久層框架 。 iBATIS提供的持久層框架包括SQL Maps和Data Access Objects （ DAO ） ， 同時還提供一個利用這個框架開發的JPetStore實例 。 相對Hibernate和Apache OJB等 “ 一站式 ” ORM解決方案而言 ， ibatis 是一種 “ 半自動化 ” 的ORM實現 。 iBATIS需要開發人員自己來寫sql語句 ， 這可以增加了程序的靈活性 ， 在一定程度上可以作爲ORM的一種補充 。 程序設計人員應該結合自己的項目的實際情況 ， 來選擇使用不同的策略 。 iBATIS和Hibernate都做了映射 ， 但iBATIS是把實體類和sql語句之間建立了映射關係 ， 這種策略可以允許開發人員自己來寫合適的sql語句 ， 而Hibernate在實體類和數據庫之間建立了映射關係 ， sql對於開發人員是不可見的 ， 對於那些數據量非常大的應用 ， 無法去優化sql語句 。 所以在實際應用中 ， 應該根據不同的應用場景 ， 來選擇適合自己的框架 。 2010年6月16日 ， iBATIS從Apache軟件基金會退役 （ retired ） ， 項目的初創團隊已經轉移到MyBatis項目 。