一、事务概念
1.什么是事务
比如:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序
2.事务特性
原子性、一致性、隔离性、持久性
3. 不考虑隔离性产生读问题
4.解决 读问题
设置隔离级别
二、Spring 事务管理api
1.spring 事务管理两种方式
第一种 编程式事务管理(不用)
第二种 声明式事务管理
(1) 基于xml 配置文件实现
(2) 基于注解实现
2. spring 事务管理的 API 介绍
接口 PlatformTransactionManager 事务管理器
(1) spring 针对不同的 dao 层框架,提供不同的实现类
(2) 搭建转账环境
1.创建数据库表,添加数据
2. 创建 service 和 dao 类 ,完成注入关系
(1) service 层又叫业务逻辑层
(2)dao 层,单纯对数据库操作层,在 dao层不添加业务
(3)需求:小王转账1000给小马
--小王少1000
--小马多1000
3.产生问题
如果小王少1000之后,出现异常,小马不会多1000,钱丢失了
4. 解决问题
添加事务解决、出现异常进行回滚操作
三、声明式事务管理( xml 配置)
1.配置文件方式使用 aop 思想配置
第一步 配置事务管理器
第二步 配置事务增强
第三步 配置切面
四、声明式事务管理 (注解)
第一步 配置事务管理器
第二步 配置事务注解
第三步 在要使用事务的方法所在类上面添加注解