• 大家分层架构 事务


    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实现切面

  • 相关阅读:
    5、打断点(bpu)
    4、post请求(json)
    3、get请求(url详解)
    2、接口测试(Composer)
    1、Fiddler基础
    常规测试、安全测试、渗透测试-区别
    记录一次python的mysqlclient依赖库报错问题
    airflow当触发具有多层subDAG的任务的时候,出现[Duplicate entry ‘xxxx’ for key dag_id]的错误的问题处理
    Python3并发写文件
    python hash 每次调用结果不一样
  • 原文地址:https://www.cnblogs.com/qinxinabc/p/9045323.html
Copyright © 2020-2023  润新知