一、事务的概念

一、事务的概念

可以用4个关键属性来描述事务的概念,即原子性,一致性,隔离性,以及持久性。

原子性:事务是一种原子操作,由一系列动作组成。事务的原子性确保了动作要么全部完成,要么完全不起作用。

一致性:一旦所有的事务动作完成,事务就被提交。数据和资源就处于一种满足业务规则的一致状态中。

隔离性:可能有许多事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,以防止数据损坏。

持久性:一旦事务完成,无论发生什么系统错误,它的结果都应该不受影响。

 

二、使用JDBC提交和回滚管理事务

在使用JDBC更新数据库时,默认是每个SQL语句在执行之后都立即提交。这种行为称为自动提交。

JDBC支持一种基本的事务管理策略,即在连接上显示地调用commit()和rollback()方法。但是,在这么做之前,必须关闭自动提交行为,它默认是打开的。con.setAutoCommit(false)。

 

三、选择事务管理器实现

spring从不同的事务管理API中抽象了一整套的事务机制。

spring的核心事务管理抽象是PlatformTransactionManager。它为事务管理封装了一组独立于技术的方法。

无论你选择了spring的哪种事务管理策略(编程式或者声明式),事务管理器基本上都是必须的。

 

PlatformTransactionManager是所有spring事务管理器的通用接口。spring内置了几个实现,用于不同的事务管理API。

如果你在应用程序中只需处理一个数据源,并且通过JDBC进行存取,DataSourceTransactionManager应该能满足你的需求。

如果是在Java EE应用服务器上使用JTA进行事务管理,就应该使用JtaTransactionManager从应用服务器查找事务。

如果是用对象/关系映射框架存取数据库,就应该为这个框架选择相应的事务管理器,例如HibernateTransactionManager和JpaTransactionManager。

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值