当前位置: 首页 > article >正文

Spring的AOP思想中事物管理注意点

我们以事务管理实现AOP思想
      通过在Service层加入事务管理,因为Service层可能使用多个DAO(多条SQL语句)
      要保证这些SQL要么同时成功,要么同时失败,例如:学生Serivce:删除学生的时候,还需要删除学生关联信息(选课信息)
      只有都删除成功才提交,如果有一条执行失败就要回滚,因此我们需要依靠事务管理实现

 

 同时失败时:抛运行时异常,直接终止掉

                 throw new RuntimeException(throwables.getMessage());

    @Override
    public void saveProduct(Product product) {
        try {
            queryRunner.update(connectionFactory.currentThreadConn(),
                    "INSERT INTO spring.product(pname, price, category) VALUE (?,?,?)," +
                            product.getPname(),product.getPrice(),product.getCategory())
        } catch (SQLException throwables) {
            throw new RuntimeException(throwables.getMessage());
        }
    }

 


http://www.kler.cn/a/528924.html

相关文章:

  • [创业之路-269]:《创业讨论会》- 系统之韵:从麻雀到5G系统的共通性探索
  • PHP Error处理与优化指南
  • WinDBG查找C++句柄泄露
  • mysql中in和exists的区别?
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • Debian 10 中 Linux 4.19 内核在 x86_64 架构上对中断嵌套的支持情况
  • 基础数据类型之整形
  • (leetcode 213 打家劫舍ii)
  • Games104——游戏引擎Gameplay玩法系统:基础AI
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
  • Dijkstra算法解析
  • 读书笔记-《Redis设计与实现》(一)数据结构与对象(下)
  • 课题介绍:水下惯性/地形组合导航精度提升的理论与方法研究
  • oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
  • 环形缓冲区原理与C语言实现ringbuffer
  • 计算满足特定条件的素数在全体素数中的密度极限值,并将该极限值乘以10^7后向下取整的解题思路
  • Python3 【装饰器】项目实战:5个新颖的学习案例
  • 说说Redis的内存淘汰策略?
  • TVM调度原语完全指南:从入门到微架构级优化
  • 【Rust自学】18.3. 模式(匹配)的语法
  • 【漫话机器学习系列】073.黑塞矩阵(Hessian Matrix)
  • python算法和数据结构刷题[4]:查找算法和排序算法
  • Versal - 基础4(VD100+Versal IBERT)
  • C++解决输入空格字符串的三种方法
  • 智慧园区管理系统推动企业智能运维与资源优化的全新路径分析
  • 【Leetcode 热题 100】64. 最小路径和