每日Java学习打卡(2021.11.21-2021.11.22)

这两天学习了spring事务管理,前面学习MySQL的时候没有学习事务管理,所以对这一块很陌生,先学习的事务。

事务需要设置以下几方面:

1. 事务的隔离级别:有4个值。
        DEFAULT:采用 DB 默认的事务隔离级别。

        MySql 的默认为 REPEATABLE_READ;                 

        Oracle        默认为 READ_COMMITTED。
        ➢ READ_UNCOMMITTED:读未提交。未解决任何并发问题。
        ➢ READ_COMMITTED:读已提交。解决脏读,存在不可重复读与幻读。
        ➢ REPEATABLE_READ:可重复读。解决脏读、不可重复读,存在幻读
        ➢ SERIALIZABLE:串行化。不存在并发问题。

2. 事务的超时时间: 表示一个方法最长的执行时间,如果方法执行时超过了时间,事务就回滚。
          单位是秒, 整数值, 默认是 -1. 

 3. 事务的传播行为 : 控制业务方法是不是有事务的, 是什么样的事务的。
            7个传播行为,表示你的业务方法调用时,事务在方法之间是如果使用的。

            PROPAGATION_REQUIRED
            PROPAGATION_REQUIRES_NEW
            PROPAGATION_SUPPORTS
            以上三个需要掌握的

            PROPAGATION_MANDATORY
            PROPAGATION_NESTED
            PROPAGATION_NEVER
            PROPAGATION_NOT_SUPPORTED

4.  事务提交事务,回滚事务的时机
     1)当你的业务方法,执行成功,没有异常抛出,当方法执行完毕,spring在方法执行后提交事务。事务管理器commit
     
      2)当你的业务方法抛出运行时异常或ERROR, spring执行回滚,调用事务管理器的rollback
         运行时异常的定义: RuntimeException  和他的子类都是运行时异常, 例如NullPointException , NumberFormatException
      
      3) 当你的业务方法抛出非运行时异常, 主要是受查异常时,提交事务
        受查异常:在你写代码中,必须处理的异常。例如IOException, SQLException

明日学习计划:学习完spring与web,这也是spring的最后一部分了。然后学习springmvc。

最后附一下spring的知识思维导图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值