Spring事务管理1

事务的基本的概念以及事务的一些相关的特性,spring

2.学习spring事务管理中的一组API,由于咱们能够经过这组API来进行spring的事务管理数据库

3.学习spring中的编程式的事务管理,以及spring中的声明式的事务管理。编程

什么是事务?以及事务的特性?并发

事务指的是逻辑上的一组操做,这组操做呢,要么所有成功,要么所有 失败。那么咱们在这里以一个银行转帐的案例来分析,学习

那么咱们假设有两我的,一个是张三,一个是李四,那么张三帐户里有2千元,李四帐户也有2千元,那如今张三要给李四进行转帐1千元的操做,那么咱们就会修改张三的帐户,给张三的帐户扣除掉1千元,而后咱们要修改李四的帐户,给李四的帐户加1千元,那这样的话,咱们就完成了一个转帐的操做。但这组操做呢,它不该该出现的状况就是张三转了1千元以后,好比说忽然间断电了,或者出现了一些其余的特殊状况,那么这样的话,张三的钱转出去了,而李四没收到,那这种状况是不该该出现的,因此说在这种状况里边,咱们的一组操做咱们能够用一组事务来进行管理,那么这组操做一旦加入到了事务的管理操做里边了,那么它们就必须一块儿成功,或者一块儿失败,那么一块儿 成功的状况是什么呢 就是张三把钱转出去了,李四也收到钱了,那若是是一块儿失败呢,那一块儿失败指的是张三的钱也没转出去,李四也没收到钱,这种状况不容许出现张三钱转了,李四没收到的状况。因此说这是事物的概念。它就是用来保证咱们这组操做要么全都成功,要么全都失败,那么在事务当中呢,它是有一些相关的特性的,那事务通常都会有4大特性:这4大特性包含了原子性,一致性,隔离性,以及持久性,那什么是原子性呢,原子性指的是事务是一个不可分割的单位,事务中的操做**要么都发生了,要么都不发生,**那么咱们都知道,物理中原子是最小的单位 ,那么它强调的是咱们这一组单位是不能进行分割的,不能拿出来单独去运行的,由于单独运行的话,那都有可能会致使错误或者而失败的产生,那么咱们要把这一组呢要放在一个事务里边,那么它们就能一块儿成功或者一块儿失败了。那什么是事务的一致性呢?那事务的一致性指的是,咱们事务执行的先后,数据的完整性,要保持一致,也就是说咱们在事务执行以前,张三里边有2千元,李四帐户里也有2千元,那么总共是4千元,那当咱们转帐完成以后,那张三的帐户里是1千元,而李四的帐户里是3千元,那总共的金额也是4千元,因此说在执行的先后,咱们的这种完整性,是一致的。它不能出现张三的钱被扣掉,李四没收到这种状况。那什么是隔离性呢?**隔离性强调的是,多个用户并发访问数据库的时候,那么一个用户的事务的执行过程中,不该该受到其余事务的干扰,好比说咱们有两个事务在同时的操做数据库,那你这边好比说正在修改张三的记录,而又有一个记录进来修改张三这条记录,那最后修改完事以后呢,会致使你这个记录会被重复的修改,或者是一开始的事务改完的记录被第二个事务给覆盖掉了。那么咱们的事务在执行的过程中呢,尽可能不要让它收到其余事务的干扰,那这怎么作到呢?那数据库里都有一个事务的隔离级别,咱们能够经过设置隔离级别呢,来解决这种问题。**还有一个就是事务的持久性,事物的持久性它指的是一个事务一旦被提交了,那它的记录就被真正的修改到咱们的数据库里边了。若是你的事务没有提交,那你在执行了一个语句以后呢,这个数据尚未被真正的修改到数据库,或者是进入到数据库,那么只有你的事务提交了以后,这条记录才会被真正的修改或者进入到咱们的数据库当中,那这个就是事务的持久性。经过以上的讲解,能够对事务有一个简单的认识。事务

相关文章
相关标签/搜索