1.jdbc 操作数据库
conn =driverManager.getConnectuon(url,user,pasword)
conn.setAutoCommit(false);
sql1="insert"
sql1="update"
conn.commit()
catch(){conn.rollback}
conn.close
mysql 支持事务 原子性 一致性 隔离性 持久性
1. READ UNCOMMITTED(读未提交)
2. READ COMMITTED(读已提交)
3. REPEATABLE READ(可重复读):MySQL的默认事务隔离级别。
4. SERIALIZABLE(可串行化)
spring 框架中,事务管理器 通过 aop 代理对象 去管理对象
事务管理器
1.事务的创建,提交回滚
2.事务状态管理,事务同步
3.资源管理
目的:中心化的事务管理器,可以通过配置,注解方式管理事务,不用处理底层资源
代理对象
1.方法拦截
2.事务边界识别,识别哪些方法需要进行事务管理
3.事务属性 代理对象根据事务属性 如传播行为,隔离级别等,调用事务管理器是否开始新事
4.异常处理事务回滚,代理对象捕获异常,根据事务属性判断是否回滚
目的:为目标对象提供一个事务管理层,通过方法拦截和事务属性应用,代理对象通过方法拦截和应用事务属性,实现业务逻辑与事务控制的分离,使目标对象无需关注事务逻辑
事务管理器负责事务的具体管理工作,包括事务的创建、提交、回滚以及资源的管理,代理对象则通过拦截方法调用来应用事务管理逻辑