深藍色心情

          過來聊聊~~~~

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks

          guzz是一套用來解決ORM、多數據源管理、以及通用數據計算的數據層框架,為系統在數據層的設計提供一站式解決方案。guzz可以看作是 ibatis/hibernate的一大的延伸,并可以取代這2個東西。 

          guzz主要功能與特點: 
          • 現代大規模系統設計,技術上吸收了ibatis/hibernate的優點
          • 支持像hibernate一樣的對象化持久、映射和方便的增刪改查
          • 支持像ibatis一樣,讓dba參與sql設計的復雜數據庫操作和優化
          • 支持在線加載與調試SQL。按照應用策略,從文件/數據庫/Web Service等途徑,動態提取與使用SQL語句(Dynamic SQL)
          • 支持應用程序使用大量的數據庫和主從讀寫分離
          • 支持超越范式的特殊關聯、非結構化數據等異構資源的統一管理
          • 支持數據表在多組機器間水平分布(Shard),并自動維護多組機器之間的分布式事務
          • 支持1張表按照業務規則分切成多張小表(Shadow),并支持每張小表擁有自己特殊的屬性字段(Custom)
          • 支持組件化服務(SOA),構建企業/項目實施基礎平臺
          • 提供面向對象的數據庫讀取標簽(JSP Taglib),加快頁面展示層的快速變更、開發與部署
          • 支持配置管理服務器,可以使用一套軟件系統對所有應用程序的配置進行統一管理
          項目地址:http://code.google.com/p/guzz/ 
          文檔:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 

          1.2.8 beta2更新介紹: 

          支持動態管理SQL: 

          動態SQL(Dynamic SQL)不是指應用程序動態的拼接SQL語句,動態SQL是指應用程序可以動態的獲取配置好的SQL語句。在獲取的過程中,SQL語句如何管理,由應用系統自身決定。 

          換句話說,在ibatis中,SQL語句配置到ibatis.xml文件中,在guzz中,配置到guzz.xml中。但當配置完成后,在系統運行期間這些SQL都是不能變動的,如果需要添加1個或者修改優化1個SQL語句,必須重啟應用才能生效。而動態SQL允許應用系統動態的管理(添加/修改/優化/刪除)sql語句以及查詢結果到對象的映射關系(ORM),對于SQL的變更不再需要重啟應用系統,以簡化維護與應對需求變化。 

          動態SQL主要有兩種應用場景:SQL優化和動態數據源。具體介紹請參看:http://code.google.com/p/guzz/wiki/TutorialDynamicSQLService 

          改進遠程服務設計: 

          增加對hessian, burlap協議的支持。目前guzz內置支持phprpc, hessian, burlap三種協議進行RPC遠程調用。使用時,三種協議可以透明替換,類似spring對RMI類協議的封裝。具體介紹請參看:http://code.google.com/p/guzz/wiki/TutorialFutureService 

          增加枚舉類型與類型參數化支持: 

          按照TopLink的模式,支持JDK5 enum。Enum在使用時和普通類型一樣,不需要實現特殊的接口(hibernate要求實現接口)。Enum支持通過JPA的Enumeration注釋聲明,也支持在hbm.xml中通過xml定義。通過xml的定義方式參看:http://code.google.com/p/guzz/wiki/TutorialHbmXml 

          類型參數化為guzz的特殊功能,用于處理動態SQL參數和Jsp Taglib條件參數時,將String類型自動轉換成需要的數據類型。參數化類型主要為日期和枚舉。詳細介紹:http://code.google.com/p/guzz/wiki/TutorialHbmXml 

          增加對數據庫保留字的支持: 

          在定義數據庫列名時,可以用`(ESC下面的鍵)將列名引起來,避免字段名稱與數據庫保留字沖突。此功能與hibernate提供的處理保留字方法相同,但guzz只支持字段,不支持`表名`。 

          增加對Microsoft SQL Server的支持(未測試): 

          參考hibernate實現了一個SQL Server 2000 & 2005的dialect,不支持分頁。沒有測試過。Dialect實現類:org.guzz.dialect.MSSQLDialect 

          Guzz已經能夠支持的數據庫和數據類型請參看: 
          http://code.google.com/p/guzz/wiki/TutorialGuzzXml 

          應用示例說明: 

          http://code.google.com/p/guzz/wiki/TutorialDynamicSQLService 

          下一版本計劃: 

          • 修復發現的bug。
          • 設計一些常見的服務,推廣guzz基礎服務理念。
          posted on 2010-05-26 10:13 深藍色心情 閱讀(1736) 評論(2)  編輯  收藏 所屬分類: Java

          Feedback

          # re: guzz1.2.8 beta2發布--支持動態加載在線調試SQL 2010-05-28 13:53 羅萊家紡官方網站
          按開始的南三段  回復  更多評論
            

          # re: guzz1.2.8 beta2發布--支持動態加載在線調試SQL[未登錄] 2010-06-10 00:22 stephen
          這么好的東西怎么就沒人賞識呢?中國人,唉....只會抄,如果多幾個博主這樣的人就好了,有創新啊  回復  更多評論
            

          主站蜘蛛池模板: 梁山县| 巧家县| 塔河县| 海兴县| 东丽区| 彩票| 合肥市| 和田县| 景泰县| 平江县| 宜川县| 平罗县| 扎兰屯市| 平邑县| 阳东县| 丹东市| 扎鲁特旗| 新建县| 巴林左旗| 松桃| 定兴县| 观塘区| 宝鸡市| 通江县| 平和县| 西贡区| 兰考县| 永顺县| 平南县| 当涂县| 瓮安县| 富裕县| 隆安县| 渭源县| 惠安县| 临武县| 凭祥市| 冷水江市| 天水市| 玛多县| 嘉峪关市|