写一下今天处理的spring 事务处理的问题吧

前言:第一篇博文,走上程序猿这条路一年多了,学会了很多,也积累了很多,不知道从哪开始分享下来,等我想好了写些什么再写点优质的博文吧,今天先写下今天处理的一个关于spring 事务处理的问题;

因为最近由于业务需求所以要加spring 事务,百度了很多大大写的,自己实现后也总结下

spring事务处理应用场景:对于数据库的insert,update,delete时使用,主要还是看具体业务要求,一般情况下是insert,update,delete时使用。

使用前检查:1.对应的数据库表的表引擎要支持事务。mysql数据库中的MyISAM表引擎由于加快了insert,update速度,所以是不支持事务处理的,要更改为InnoDB引擎。ps:我就是死在这里了,所有的东西都配置完,才发现我的天,表引擎不对。

下面正式开始:

首先是xml了

           <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager"/>

我使用的是注解形式的所以直接在service类上直接使用@Transactional的方式这样就可以了。还有很多种方式具体的看下面几位大大的链接就好了。

业务逻辑比较复杂还是在service实现类上控制的好。

几种spring 事务的增加方式点击打开链接


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring的数据库事务处理主要涉及以下几个方面的细节: 1. 事务的声明方式 Spring提供了多种事务声明方式,包括注解、XML配置和编程式事务管理等。其中,注解方式最为常用,可以通过在方法上添加@Transactional注解来声明事务。XML配置方式和编程式事务管理方式则需要在配置文件或代码中明确指定事务的属性和行为。 2. 事务的传播行为 Spring事务支持多种传播行为,包括REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER和NESTED等。其中,REQUIRED是默认的传播行为,表示如果当前已经存在事务,则加入该事务,否则创建一个新的事务。其他传播行为则根据不同的需求来选择使用。 3. 事务的隔离级别 Spring事务支持多种隔离级别,包括DEFAULT、READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和SERIALIZABLE等。其中,DEFAULT表示使用数据库默认的隔离级别,而其他隔离级别则根据不同的需求来选择使用。 4. 事务的超时时间 Spring事务支持设置超时时间,用于控制事务执行的最长时间。如果事务在超时时间内未能完成,则将自动回滚事务。 5. 事务的回滚规则 Spring事务支持设置回滚规则,用于控制哪些异常会触发事务回滚。可以通过在@Transactional注解中指定rollbackFor或noRollbackFor属性来定义回滚规则。 6. 事务的异常处理 Spring事务支持对事务异常进行处理,包括回滚事务、记录日志、抛出异常等。可以通过在@Transactional注解中指定异常处理类或方法来完成异常处理。 综上所述,Spring的数据库事务处理包括事务的声明方式、传播行为、隔离级别、超时时间、回滚规则和异常处理等细节,开发人员需要根据实际需求进行合理的配置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值