zoukankan      html  css  js  c++  java
  • 大家分层架构 事务

    1:搭建分层架构

    事务:

    什么是事务?

    是一个不可分割的逻辑单元, 对于 N条操作,要么都提交,要么都不提交


    事务的四大特性:

    原子性:事务中操作不可再分

    一致性:要么都提交,要么都不提交

    隔离性:各个事务之间互不干扰

    持久性:事务操作会被永久操作

    start transaction

    begin transaction

    commit

    rollback


    事务四种隔离级别和七种传播行为:

    隔离级别: 脏读 重复读 幻读 读已提交(READ_COMMITED)

    ISOLATION_READ_UNCOMMITTED 读未提交 33k--->平平 ---> 38k

    ISOLATION_READ_COMMITTED 读已提交 cmy--->娶妻生子 脏读

    ISOLATION_REPEATABLE_READ 可重复读 重复的查询语句 脏读 不可重复读
    begin transaction

    insert into user values('张三',123);
    select * from user
    delete from user where name='张三'
    select * from user

    commit;

    ISOLATION_SERIALIZABLE 串行化 脏读 重复读 幻读


    传播行为:在使用事务机制操作的情况下,如果要做的操作 七个选项

    PROPAGATION_REQUIRED 以事务的方式进行操作,如果当前事务存在,则使用当前事务。如果不存在,则创建一个新事务

    PROPAGATION_REQUIRES_NEW
    以事务的方式进行操作,如果当前事务存在,挂起当前事务。并创建一个新事务。

    PROPAGATION_SUPPORTS
    判断是否使用的是事务方式操作,使用该事务,如果不是 以非事务的方式操作

    PROPAGATION_NOT_SUPPORTED
    非事务的方式操作,如果存在当前存在事务,则挂起当前事务。以非事务的方式操作

    PROPAGATION_MANDATORY
    一定要以事务进行操作,如果不存在事务,则抛出异常

    PROPAGATION_NEVER
    非事务的方式进行操作,如果存在事务,则抛出异常

    PROPAGATION_NESTED
    事务操作,判断当前事务是否存在,如果存在,则在当前事务中生成一个嵌套着的事务,如果不存在作用于 PROPAGATION_REQUIRED 相同

    例子:转账


    AOP:
    编程式AOP: ProxyFactory 实例 setTarget setAvice

    声明式AOP: ProxyFactoryBean
    target属性-->代理对象
    advice

    自动顾问代理生成器
    AspectJ 注解的方式

    Aspect Xml节点的方式


    事务增强:AOP

    编程式事务:TransactionTemplate

    声明式事务: tx节点定义通知
    aop实现切面

  • 相关阅读:
    大端模式与小端模式
    通过tcp socket实现Linux与windows之间的文件传输
    关于递归的几个小例子
    关于线性表的一些简单应用
    数据结构(c语言实现)--线性表
    简单实现getpwnam()
    chapter 7 内存分配函数
    chapter6 非局部跳转函数 setjmp()与longjmp()
    Xcode 出现Permission denied 解决方法
    关于ARfoundation ILRuntime热更新项目的坑
  • 原文地址:https://www.cnblogs.com/qinxinabc/p/9045323.html
Copyright © 2011-2022 走看看