zoukankan      html  css  js  c++  java
  • spring事物 (mu课)

    1.什么是事物,

    事物指在逻辑上的一组操作,这组事物要么全部成功,要么全部失败

    2.事物的的特性:

    原子性:事物是不可分割的单位,要么都发生,要么都不发生

    一致性;指事物前后数据完整性必须保持一致

    隔离性;多个用户并发访问的时候,一个用户的事物不能被其他用户干扰

    持久性:一个事物被提交了,它对数据库的数据的修改是持久性的

    3.spring事物管理的三个接口

    3.1  PlatformTransactionManager   事物管理器

    *rollback(TransactionStatus )

    *commit(TransactionStatus )

    *getTransation(TransactionDefinition)

    3.2  TransactionDefinition事物定义信息(隔离,超时,只读,传播)

    3.3  TransactionStatus 事物具体运行状态

    4.隔离级别

    READ_UNCOMMITED    允许你读取还未提交的数据,可能导致脏,幻,不可重复读

    READ_COMMITTED 允许在并发事物已经提交后读取,但幻读和不可重复读依旧可能发生

    REPEATABLE_READ 对相同字段的多次读取时一致的,除非数据被事物本身改变,但是幻读依旧可以发生,可以防脏读和不可重复读

    SERIALIZABLE 可确保不发生脏,幻,不可重复读

    5.不考虑隔离性,会发生的安全问题如下

    脏读:一个事物读取了另外一个事物改写但未提交的数据,如果这些事物被回滚,则读到的数据是无效

    不可重复读;在同一事物中,多次读取同一数据返回的结果有所不同

    幻读:一个事物读取了几行记录后,另外一个事物插入的一些记录,幻读就发生了

               再后来的查询中,第一个事物就会发生有些原来没有的记录

    6.事物应该在放置在哪层中

    业务层

    7.业务的传播行为

    事物的传播行为:解决了业务层方法之间的相互调用的问题

    propagation_supports  如果aaa里面有事物,则bbb调用aaa的事物,如果aaa无事物,则bbb方法就不调用了

    Propagation_required 如果aaa里面有事物,则bbb就调用aaa里面的事物,否则bbb就创建一个事物,然后把AAA内容包裹进去,即是两者在一个事物中

    Propagation_required_new 如果aaa里面有事物,则bbb就把aaa事物挂起,自己在创建一个新的事物,两者不是在一个事物

  • 相关阅读:
    用Github发布静态页面
    JS实现图片放大查看
    CSS3-字体渐变色
    Eclipse切换工作空间(Workspace)
    JS打开新的窗口
    HTML中特殊符号的处理
    PHP转码函数
    SecureCRT按退格键出现^H问题解决
    商人过河问题(二)java实现
    商人过河问题(一)
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819676.html
Copyright © 2011-2022 走看看