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.声明事务

     

  • 相关阅读:
    Jmeter学习笔记-初级
    python selenium利用 126.com id自动生成
    Python代码无法保存
    卸载python2.7出错
    python pip用法
    pycharm 连接数据库
    Python打包PyPI上传实践
    Python实现Api的Mock测试
    抓包工具使用
    Jenkins+Ant可持续集成Jmeter脚本
  • 原文地址:https://www.cnblogs.com/cckong/p/14389186.html
Copyright © 2011-2022 走看看