thinkuncle / thinkuncle.github.io

thinkuncle
4 stars 0 forks source link

spring事务 #134

Open thinkuncle opened 7 years ago

thinkuncle commented 7 years ago

Spring事务管理

高层抽象主要包括3个接口

Platform TransactionManager 事务管理器(提交、回滚事务)

Spring为不同的持久化框架提供了不同的Platform TransactionManager接口实现。如: 使用Spring JDBC或iBatis进行持久化数据时使用DataSourceTransactionManager 使用Hibernate3.0版本进行持久化数据时使用HibernateTransactionManager

TransactionDefinition 事务定义信息(隔离、传播、超时、只读)

脏读:一个事务读取了另一个事务改写但还未提交的数据,如果这些数据被回滚,则读到的数据是无效的。 不可重复读:在同一事务中,多次读取同一数据返回的结果有所不同。 幻读:一个事务读取了几行记录后,另一个事务插入一些记录,幻读就发生了。再后来的查询中,第一个事务就会发现有些原来没有的记录。

事务隔离级别:(五种)

其中,MySQL默认采用REPEATABLE_READ隔离级别;Oracle默认采用READ_COMMITTED隔离级别

事务传播行为:(七种)

TransactionStatus 事务具体运行状态

相关配置