Guzz 1.3.0 大版本發布,支持 Spring 事務

jopen 13年前發布 | 12K 次閱讀 Java

什么是guzz?

guzz是一套用于多數據庫編程的ORM框架,用于替代hibernate和ibatis,實現在一套系統中輕松使用多臺數據庫。guzz同時提供通用數據計算和配置管理等,簡化系統復雜度,為系統在數據層的設計提供一站式解決方案。

guzz主要功能與特點:

  • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
  • 支持應用程序使用大量的數據庫和主從讀寫分離
  • 支持數據庫表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
  • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
  • 支持1張大表分切后的小表,分布到不同的數據庫中(VirtualDB)
  • 支持超越范式的特殊關聯、非結構化數據等異構資源POJO模式的統一讀取
  • 支持組件化服務(SOA)和服務相互依賴,構建企業/項目實施基礎平臺
  • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
  • 對于大部分場景,支持像hibernate一樣的對象持久、映射和方便的增刪改查,提高開發效率
  • 對于復雜場景,支持像ibatis一樣,讓DBA參與SQL設計的復雜數據庫操作和優化,以及SQL在線調試
  • 更簡潔、更好用、更容易控制的批操作接口
  • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
  • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理

項目地址:http://code.google.com/p/guzz/
文檔:http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6
下載:http://code.google.com/p/guzz/downloads/list


guzz 1.3.0 20111123更新介紹:


大版本更新:

1. 支持Spring聲明式事務。在這個版本中,您可以像配置Hibernate一樣配置Guzz,讓Spring進行聲明的全局事務管理。Guzz Spring事務支持標準Spring事務的所有配置,除了嵌套事務和JTA。嵌套事務Hibernate也不支持,如果需要使用,請按照hack Hibernate的方式使用。

事務的配置方法為Spring標準配置方式,只需要將transactionManager定義為:

<bean id="transactionManager" class="org.guzz.web.context.spring.GuzzTransactionManager">  
<property name="guzzContext" ref="guzzContext" />  
</bean>


即可。使用GuzzBaseDao的用戶,需要在guzz.xml的tran元素上增加一個屬性以聲明guzz開始使用Spring事務:<tran locator="spring">

典型配置:

    <!-- 定義事務管理器(聲明式的事務) -->
<bean id="transactionManager" class="org.guzz.web.context.spring.GuzzTransactionManager">
<property name="guzzContext" ref="guzzContext" />
</bean>

<bean id="transactionInterceptor"    
    class="org.springframework.transaction.interceptor.TransactionInterceptor">    
    <property name="transactionManager" ref="transactionManager" />    
    <!-- 配置事務屬性 -->    
    <property name="transactionAttributes">    
        <props>    
            <prop key="*">PROPAGATION_REQUIRED</prop>    
        </props>    
    </property>    
</bean>  

<bean class="people.manager.impl.MyBeanNameAutoProxyCreator">    
    <property name="beanNames">    
        <list>
            <value>*Manager</value>
        </list>
    </property>
    <property name="interceptorNames">    
        <list>    
            <value>transactionInterceptor</value>    
        </list>    
    </property>    
</bean></pre>2. 數據庫操作API增加事務隔離級別設置和查詢超時時間設置。 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!