赞
踩
在mysql中,提出了事务,事务是指一组sql语句的集合,集合中有多条sql语句
可能是insert,update,select,delete,我们希望这些多个sql语句都能成功,
或者都失败,这些sql语句的执行是一致的,作为一个整体执行。
当我们的操作涉及到多个表,或者是多个sql语句的增加insert删除delete修改update的时候,需要保证这些语句都是成功才能完成我们的功能;或者保证这些语句都失败,保证操作是符合要求的。最明了的例子就是转账,从A账户转到B账户中,要保证从A中扣除的金额一定要加到B里去。如果A到B转账成功,那么A扣B加,要保证A和B的账户是均衡的。如果A向B转账的过程中扣款失败了,那就应该把操作都回退,A也不扣,B也不加,保证A和B中账户数据的平衡。
JDBC访问数据库,处理事务:连接对象Connection conn;事务提交 conn.commit ();事务回滚:conn.rollback ();
Mybatis 访问数据库,处理事务:事务提交:SqlSession.commit ();事务回滚:SqlSession.rollback ();
1.原子性
事务的原子性是指事务全部提交成功或者提交失败,全部回滚,不会执行其中的一部分。
2.一致性
事务在执行前后,数据库都处于一致状态,即事务的执行不会破环数据库数据的一致性和完整性。如事务未处理完成的过程中数据库故障,事务未完成就被迫中断,未完成的事务对数据库的所作的修改写入,这时数据库就处于一种不一致的状态。
3.隔离性
事务的隔离性是值在并发环境下,并发的事务是相互隔离的,一个事务的执行不能被另外的事务干扰。不同的事务并发操作数据时,每个事务都在自己的数据空间,即一个事务内部的操作及使用的数据对其他并发事务时隔离的,并发执行的各个事务之间不能相互干扰。
不同的隔离级别对事务的处理不同,分别是:未授权读取(最低级别,以上问题均无法解决),授权读取(读已提交,可避免脏读情况发生),可重复读取(确保事务可以多次从一个字段中读取相同的值,在此事务持续期间,禁止其他事务对此字段的更新,可以避免脏读和不可重复读,仍会出现幻读问题)和串行化 (最严格的事务隔离级别,要求所有事务被串行执行,不能并发执行,可避免脏读、不可重复读、幻读情况的发生)。
4.持久性
一旦事务提交,数据库中对应数据的更改就会永久保存到数据库中。即使发生系统崩溃或机器宕机等故障,只要数据库能够重新启动,那么一定能够将其恢复到事务成功结束的状态
1.不同的数据库访问技术,处理事务的对象,方法不同。JDBC使用的是Connection对象,Mybatis访问对象使用的事SqlSession。方法不同就需要了解不同数据库访问技术使用事务的原理。
2.掌握多种数据库中事务的处理逻辑,知道什么时候提交,什么时候回滚。
spring提供了一种处理事务的统一模型,能使用统一的步骤,方式,完成多种不同数据库访问技术的事务处理。
使用spring的事务处理机制,可以完成MyBatis访问数据库的事务处理。
使用spring的事务处理机制,可以完成Hibernate访问数据库的事务处理。
在 Spring 框架中提供了多种事务管理器来进行事务管理。Spring 的事务管理器是基于AOP 实现的。在 Spring 的事务管理器中包含了配置事务传播行为、隔离级别、只读和超时属性,这些属性提供了事务应用的方法和描述策略。
在 Java EE 项目开发经常会使用分层模式,Spring 的事务处理位于业务逻辑层,它提供了针对事务的解决方案。
1.Spring的事务管理接口
在 Spring 的事务模块(spring-tx-5.2.7.RELEASE.jar)中包括事务管理的三个核心接口。
(1).PlatformTransactionManager 接口
PlatformTransactionManager 接口是 Spring 提供的事务管理器接口,用于管理事务。Spring 将事务的配置详细信息封装到 TransactionDefinition 对象中,然后通过事务管理器的getTransaction() 方法获得事务的状态(TransactionStatus),并对事务进行下一步的操作。
该接口中提供了三个事务操作方法,具体如下:
(2).TransactionDefinition 接口
TransactionDefinition 接口是事务定义(描述)的对象,它提供了事务相关信息获取的方法,其中包括五个操作,具体如下:
(3). TransactionStatus 接口
TransactionStatus 接口是事务的状态,它描述了某一时间点上事务的状态信息。其中包括六个操作,具体如下:
我们需要告诉Spring我们的项目中类信息,方法的名称,方法的事务传播行为。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。