zoukankan      html  css  js  c++  java
  • 【Spring】声明式事务aop

    我们故意在一个方法里先写一个插入,然后在写一个删除语句。其中删除语句的sql表达错误。

    .

     虽然会报错 告诉你删除的sql语句错误,但是不会告诉你 插入操作成功了。

    也就是说 虽然程序因为错误没有运行完,但是有一部分操作还是成功了。

    明显不满足我们的ACID原则(原子性、一致性、隔离性、持久性)

     首先放上mybatis-spring的事务官方文档

    http://mybatis.org/spring/zh/transactions.html

    方式一、编程式事务(不推荐)

    不推荐的原因是因为他是侵入式的,需要改变程序代码才能捕获异常。

    使用try-catch进行捕获。

    方式二、声明式事务(使用aop)

    1.spring的事务传播机制

     

    2.spring的事务隔离级别(巧记 脏不换)

    第一个是数据库默认

    第二个会出现:脏读、不可重复读、幻读

    第三个会出现:不可重复读、幻读

    第四个会出现:幻读

    第五个全部都不会出现

    (相比于数据库只多了一个 数据库默认 级别)

    3.声明事务

     

  • 相关阅读:
    verilog中timescale
    [shell] if语句用法
    makefile编写
    linux下压缩解压缩命令
    python获取文件所在目录
    gvim 技巧
    vcs编译verilog/sysverilog并执行
    verilog中signed的使用
    [leetcode]_String to Integer (atoi)
    [leetcode]_Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/cckong/p/14389186.html
Copyright © 2011-2022 走看看