• Spring_day03--Spring的事务管理


    Spring的事务管理

    事务概念

    1 什么事务

    事务是操作中最基本的单元,表示一组操作要么都成功,有一个失败那么所有都失败。

    2 事务特性

    原子性 一致性 隔离性 持久性

    3 不考虑隔离性产生读问题

    隔离性:多个事务之间没有影响

    (1)脏读

    (2)不可重复读

    (3)虚读

    4 解决读问题

    (1)设置隔离级别

    Spring事务管理api

    在学hibernate时要写很多行代码实现,创建sessionfactory session 开启提交回滚事务。要自己写代码操作事务,等用到spring后事务的代码就不用我们写了,交给spring通过配置来完成

    1 spring事务管理两种方式

    第一种 编程式事务管理(不用)

    第二种 声明式事务管理

    (1) 基于xml配置文件实现

    (2) 基于注解实现

    2 spring事务管理的api介绍

    (1)spring针对不同的dao层框架,提供接口不同的实现类

    (2)首先 配置事务管理器

    事务管理器有接口有实现类,创建该类对象,用bean id配置即可

    搭建转账环境

    1 创建数据库表account,添加数据

    2 创建service和dao类,完成注入关系

    bean.xml中引入约束,并在项目中导入aop tx等包

    (1)service层又叫业务逻辑层

    (2)dao层,单纯对数据库操作层,在dao层不添加业务

    (3)需求:小王 转账 1000 给 小马

    - 小王少1000

    - 小马多1000

    OrderDao.java

    OrdersService.java

    3 产生问题:

    (1)如果小王少了1000之后,出现异常,小马不会多1000,钱丢失了

    4 解决:

    (1)添加事务解决,出现异常进行回滚操作

    声明式事务管理(xml配置)

    1 配置文件方式使用aop思想配置

    第一步 配置事务管理器,指定对那个数据库进行操作

    第二步 配置事务增强

    第三步 配置切面

    声明式事务管理(注解)

    第一步 配置事务管理器

    第二步 配置事务注解

    第三步 在要使用事务的方法所在类上面添加注解

  • 相关阅读:
    quickSort
    L1-3 宇宙无敌加法器
    deepin下用命令管理自己的Github仓库
    PAT 1008
    增量包算法,时间复杂度3n
    vue组件化-容器
    vue模块化设计
    语言语法糖Sugar
    虚拟dom节点,支持querySelector
    html语法树转html
  • 原文地址:https://www.cnblogs.com/justdoitba/p/7885384.html
Copyright © 2020-2023  润新知