Spring整合MyBatis中的事务配置管理

本文详细介绍了数据库事务的四大特性:原子性、一致性、隔离性和持久性,并探讨了Spring框架中@Transactional注解的使用,包括事务的传播行为、隔离级别、回滚规则和超时设置等配置,旨在确保企业应用中数据的一致性。
摘要由CSDN通过智能技术生成

事务是企业应用中至关重要的部分,即使出现异常情况,它也可以保证数据的一致性。

一、事务的四个特性(ACID)

1)原子性(Atomicity

一个事务是不可分割的,在发生错误时终止一切事务,放弃全部的操作,要么全部成功要么全部失败

2)一致性(Consistency)

事务必须保证数据库从一个一致性状态变到另一个一致性状态

3)隔离性(Isolation)

当发生一个事务时,不被另一个事务干扰,如果被干扰会发生并发问题

4)持久性(Durability)

一个事务的提交对数据库来说是永久性保存的,后面的操作和故障都不因该引起其他影响

二、@Transactional属性配置事务

ropagation		// 事务的传播行为
isolation       // 事务的隔离级别
rollbackFor     // 事务回滚属性--遇到什么异常必须回滚
noRollbackFor   // 事务回滚属性--遇到什么异常不回滚
timeout         // 事务超时属性--单位-秒,
readOnly        // 事务只读形式--事务只能读取数据不能更新数据

三、注解方式配置声明

@EnableTransactionManagement//中心类添加注解

public class Config {
//产生事务管理器Bean对象
    @Bean
    public TransactionManager getTransactionManager() {
        DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
        dataSourceTransactionManager.setDataSource(this.getDataSource());
    
        return dataSourceTransactionManager;
    }
}

//在需要处理事务的地方,包括类、方法添加@Transaction运用
@Transactional(propagation = Propagation.REQUIRES_NEW,//事务传播行为
        isolation = Isolation.READ_COMMITTED,//事务的隔离级别
        rollbackFor = IOException.class,//事务回滚性--遇到什么异常必须回滚
        noRollbackFor = ArithmeticException.class,//处理异常出现异常不回滚,默不设置回滚
        timeout = 10,//事务超时属性
        readOnly = true//事务只读属性
)//运行使用事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值