Guzz 1.3.0 大版本发布,支持 Spring 事务

jopen 13年前
     <span style="font-size:large;"><strong>什么是guzz?</strong></span>    <br />    <br /> guzz是一套用于多数据库编程的ORM框架,用于替代hibernate和ibatis,实现在一套系统中轻松使用多台数据库。guzz同时提供通用数据计算和配置管理等,简化系统复杂度,为系统在数据层的设计提供一站式解决方案。    <br />    <br />    <strong>guzz主要功能与特点:</strong>    <ul>     <li>现代大规模系统设计,技术上吸收了ibatis/hibernate的优点 </li>     <li>支持应用程序使用大量的数据库和主从读写分离 </li>     <li>支持数据库表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务 </li>     <li>支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom) </li>     <li>支持1张大表分切后的小表,分布到不同的数据库中(VirtualDB) </li>     <li>支持超越范式的特殊关联、非结构化数据等异构资源POJO模式的统一读取 </li>     <li>支持组件化服务(SOA)和服务相互依赖,构建企业/项目实施基础平台 </li>     <li>提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署 </li>     <li>对于大部分场景,支持像hibernate一样的对象持久、映射和方便的增删改查,提高开发效率 </li>     <li>对于复杂场景,支持像ibatis一样,让DBA参与SQL设计的复杂数据库操作和优化,以及SQL在线调试 </li>     <li>更简洁、更好用、更容易控制的批操作接口 </li>     <li>支持在线加载与调试SQL。按照应用策略,从文件/数据库/Web Service等途径,动态提取与使用SQL语句(Dynamic SQL) </li>     <li>支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理</li>    </ul>    <p><strong>项目地址:</strong><a href="/misc/goto?guid=4958200796695341389" target="_blank">http://code.google.com/p/guzz/</a> <br /> <strong>文档:</strong><a href="/misc/goto?guid=4958200797444590594" target="_blank">http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6</a> <br /> <strong>下载:</strong><a href="/misc/goto?guid=4958200798177503667" target="_blank">http://code.google.com/p/guzz/downloads/list</a></p>    <p><span style="font-size:large;"><strong><br /> guzz 1.3.0 20111123更新介绍:</strong></span> <br /> <br /> <strong>大版本更新:</strong> <br /> <br /> 1. 支持Spring声明式事务。在这个版本中,您可以像配置Hibernate一样配置Guzz,让Spring进行声明的全局事务管理。Guzz Spring事务支持标准Spring事务的所有配置,除了嵌套事务和JTA。嵌套事务Hibernate也不支持,如果需要使用,请按照hack Hibernate的方式使用。 <br /> <br /> 事务的配置方法为Spring标准配置方式,只需要将transactionManager定义为:</p>    <pre class="brush:xml; toolbar: true; auto-links: false;"><bean id="transactionManager" class="org.guzz.web.context.spring.GuzzTransactionManager">    <property name="guzzContext" ref="guzzContext" />    </bean></pre>    <p><br /> 即可。使用GuzzBaseDao的用户,需要在guzz.xml的tran元素上增加一个属性以声明guzz开始使用Spring事务:<tran locator="spring"> <br /> <br /> 典型配置:</p>    <pre class="brush:xml; toolbar: true; auto-links: false;">    <!-- 定义事务管理器(声明式的事务) -->          <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增加事务隔离级别设置和查询超时时间设置。    <br />