首页 > 其他分享 >guzz 1.3.0大版本发布,支持Spring事务

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

时间:2023-05-24 13:05:34浏览次数:30  
标签:事务 1.3 url Spring 数据库 支持 guzz



Guzz 是一种用来进行快速开发和高性能网站设计的框架,用于替代或者补充hibernate或ibatis的持久化实现,并提供更多的大型系统架构设计 支持。guzz的目标是使得大型化网站设计更加简单,团队分工更加明确,框架在使用时更少出问题。主要设计理念:

更容易的团队管理和人员分工
现代大规模系统设计
支持像hibernate一样的对象持久,映射和方便的增删改查
支持像ibatis一样,让dba参与sql设计的复杂数据库操作和优化
支持大量的数据库和主从分离
支持数据表在多组机器中水平分布(Shard)
组件化服务(SOA),构建企业基础服务平台
提高xx%倍效率的快速开发
支持配置管理服务器,对所有应用程序的配置进行统一管理
示例代码:

TransactionManager tm = guzzContext.getTransactionManager() ;
ReadonlyTranSession session = getTransactionManager().openDelayReadTran() ;
try{
	SearchExpression se = SearchExpression.forClass(SystemLog.class) ;
	se.and(Terms.eq("categoryId", 18)) ;
	se.setOrderBy("importance desc, id asc") ;
	return session.list(se) ;
}finally{
	session.close() ;
}



大版本更新:



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>



复制打印



2. 数据库操作API增加事务隔离级别设置和查询超时时间设置。



什么是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)


支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理


项目地址:[url]http://code.google.com/p/guzz/ [/url]


文档:[url]http://code.google.com/p/guzz/wiki/AboutGuzz?tm=6 [/url]


下载:[url]http://code.google.com/p/guzz/downloads/list [/url]


标签:事务,1.3,url,Spring,数据库,支持,guzz
From: https://blog.51cto.com/u_3871599/6338610

相关文章

  • 使用JPA+Struts2+Spring 在 google Appengine开发应用
    本文同时发表在我在googleAppengine上的搭建的博客:[url]http://blogfor11lu.appspot.com/articleaction_view.action?article.id=agtibG9nZm9yMTFsdXIPCxIHQXJ0aWNsZRjBtQMM[/url]之前用JDO和Struts2在googleAppengine上试着写了一个简单的blog程序,但我还是希望使用Spring......
  • Appengine部署springMVC3.1
    参考:[url]http://sikeh.iteye.com/blog/364043[/url]获得springMVC的方法:[url]http://panyongzheng.iteye.com/blog/1759912[/url][b]1.mvnarchetype:create-DgroupId=com.pandy-DartifactId=study[/b][b]2.cdstudy[/b]需要做一些另外的事情,然......
  • 使用spring初始化器创建出来的gradle项目,gradle.build.ks文件extra报错的解决方法
    有关讨论:https://github.com/spring-io/initializr/issues/922https://github.com/spring-io/start.spring.io/issues/581springboot生成器:https://start.spring.io/......
  • 自定义注解实现数据序列化时进行数据脱敏(基于springboot默认jackjson)、消息转换器
    消息转换器fastjson与jackjson问题在springboot中使用fastjson的@jsonField无效原因:在springboot默认有json(jackjson)解析工具,所以使用fastjson不会生效解决方案替换默认的解析工具(笔者不推荐,这里根据自己项目决定)fastjson替换默认的jackjson第一种方法bean方法packagecom......
  • springboot~对应sharding-jdbc实现分库分表
    原因当mysql数据库单表大于1千万以后,查询的性能就不能保证了,我们必须考虑分库,分表的方案了,还好,sharding-jdbc可以很优雅的与springboot对接,完成对mysql的分库和分表。依赖整理为了不影响其它小容量的表,所有添加了动态数据源,只对需要分库分表的进行配置即可com.baomidou:dyna......
  • SpringBoot中使用枚举类、switch、常量类(声明并初始化map)实现类策略者模式,接口返回
    场景SpringBoot中策略模式+工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/130503707SpringBoot+@Validate+全局异常拦截实现自定义规则参数校验(校验get请求参数不能为空且在指定......
  • 微服务框架SpringCloud微-2-服务拆分及远程调用-demo黑马
    微服务框架SpringCloud微服务架构2服务拆分及远程调用2.1案例Demo2.1.1服务拆分注意事项 这里四个模块,拆成四个服务就行了 单一职责:不同微服务,不要重复开发相同业务【不能像以前那样了】数据独立:不要访问其它微服务的数据库 3.面向服务:将自己的业务暴......
  • springboot框架实现网站权限管理系统
    技术架构技术框架:springboot+layui+shiro+activiti+thymeleaf+mybatis运行环境:jdk8+IntelliJIDEA+maven3+宝塔面板宝塔部署教程回到IDEA,点击编辑器右侧maven图标,执行package,完成后就会在根目录里生成一个target目录,在里面会打包出一个jar文件。宝塔新建一个......
  • Java语言springboot框架实现的停车位管理系统
    技术架构技术框架:jQuery+MySQL5.7+mybatis+shiro+Layui+HTML+CSS+JS+thymeleaf运行环境:jdk8+IntelliJIDEA+maven3+宝塔面板宝塔部署教程1.回到IDEA,点击编辑器右侧maven图标,执行package,完成后就会在根目录里生成一个target目录,在里面会打包出一个jar文件......
  • SpringBoot中操作Redis解析JsonArray数据为对象List(ruoyi字典值sys_dict为例)
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662在上面搭建系统的基础上,会将系统的字典值缓存进redis中。看数据格式存储的是Json数组,如何从redis中读取并解析成对象的list从而进行数据处理。注......