javaORM框架

     對象關係映射英語Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程序設計技術,用於實現面向對象編程語言裏不同類型系統的數據之間的轉換。從效果上說,它其實是創建了一個可在編程語言裏使用的“虛擬對象數據庫”。

       JAVAORM主流的有一下幾種框架:

數據持久層框架——Hibernate

    Hibernate是一種Java語言下的對象關係映射解決方案。 它是使用GNU寬通用公共許可證發行的自由、開源的軟件。它爲面向對象的領域模型到傳統的關係型數據庫的映射,提供了一個使用方便的框架。

數據持久層框架——IBATIS   

    iBATIS一詞來源於“internet”和“abatis”的組合,是一個由Clinton Begin在2001年發起的開放源代碼項目。最初側重於密碼軟件的開發,現在是一個基於Java的持久層框架。iBATIS提供的持久層框架包括SQL Maps和Data Access Objects(DAO),同時還提供一個利用這個框架開發的JPetStore實例。

      iBATIS 目前提供了三種語言實現的版本,包括:Java、.NET以及Ruby。下面是iBATIS的架構圖

JAVA數據持久層框架——MyBATIS

    MyBatis 的前身就是iBatis。是一個數據持久層(ORM)框架。

JDBC框架——SimpleJDBC

    SimpleJDBC是一個用於簡化JDBC代碼的簡單框架,需Spring集成。SimpleJDBC讓你用簡單的SQL語句完成增刪改查,同時支持強類型和Java泛型,僅需注入一個Db實例。

設計思想

  1. 契約優於配置,表名和類名一致,字段名和屬性名一致;

  2. 不需編寫DAO,爲一兩行SQL編寫一個DAO方法不值;

  3. 簡單的SQL語句,而不是經過ORM改造的HQL;

  4. 沒有Attach/Detach狀態,均爲原始Bean無CGLIB代理;

  5. 沒有一級/二級Cache,Cache應當用memcached,用不上memcached則說明壓力小到根本無需Cache;

  6. 外鍵也映射到簡單字段,而非對象,不支持一對多或多對一的級聯查詢,永遠不用擔心查出額外對象;

  7. 泛型和強類型支持,有SQL語句,但無JDBC代碼;

  8. 不支持join等複雜查詢,必須增加表的冗餘以便使用簡單查詢。

哪些項目無法使用SimpleJdbc

  1. 沒有用MySQL做爲數據庫;

  2. 沒有用Spring;

  3. 使用了EAR而不是WAR;

  4. 必須使用Join等複雜查詢;

  5. 在遺留數據庫上開發。

以上說明該項目不Simple,因此無法使用SimpleJdbc

JAVA的ORM框架——JOOQ

  jOOQ 高效的合併了複雜SQL、類型安全、源碼生成、Active Records、存儲過程以及高級數據類型的 Java 類庫。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章