Bootstrap

Spring的事务处理

1、什么是事务

        事务是指sql语句的集合,集合中有多条sql语句

        可能是insert , update ,select ,delete,

我们希望这些多个sql语句都能成功,或者都失败, 这些sql语句的执行是一致的,作为一个整体执行。

2、在什么时候使用事务

当操作涉及到多表,或多个sql语句的增删改,需要保证都成功,或者都失败,保证操作是符合要求的,

例:

        银行转账,A转钱给B,保证A里扣钱,B里加钱,这两个动作是一起的,要是只执行一个,就不合理,所以要是只执行了A扣钱,B不加钱,你就要退后一步撤销,也就是回滚,A不扣,B不加

        在java代码中写程序控制事务,此时事务应该放在Service类业务方法上,因为业务方法会调用多个dao,执行sql

3、通常使用JDBC、mybatis访问数据库怎处理事务

        jdbc访问数据库,处理事务  Connection conn ; conn.commit(); conn.rollback();

        mybatis访问数据库,处理事务, SqlSession.commit();  SqlSession.rollback();

        hibernate访问数据库,处理事务, Session.commit(); Session.rollback();

4、问题3中事务处理方式,有哪些不足

1)不同的数据库访问技术,处理事务的对象,方法不同,都是独立的

    需要了解不同数据库访问技术使用事务的原理

2)掌握多种数据库中事务的处理逻辑。什么时候提交事务,什么时候回顾事务

3)处理事务的多种方法。

总结:就是多种数据库的访问技术,有不同的事务处理的机制,对象,方法。

5、怎么解决不足

        spring提供一种处理事务的统一模型,能使用统一步骤,方式完成多种不同数据库访问技术的事务处理。

  使

;