0


Spring事务(一)

一、回顾事务

1、什么是事务:

是逻辑上的一组操作,要么都成功,要么都失败

2、事务的特性

A--原子性:确保整个动作要么全部完成,要么原封不动

C--一致性:业务形态是一致状态,不存在部分成功或失败

I--隔离性:事务之间是相互隔离的

D--持久性:结果要写入到持久化存储中

3、事务的定义信息

脏读、不可重复读、幻读

隔离级别:

未提交读:

已提交读:避免脏读

可重复读:避免脏读和不可重复读

串行化:可避免所有读问题

传播行为:

保证在同一个事务中

propagation_required:必须有事务,如果不存在事务,就新建一个

propagation_supports:支持事务,如果不存在事务,就不使用

propagation_mandatory:强制使用事务,如果不存在事务,就抛异常

保证没有在同一个事务中(事务嵌套)

propagation_REQUIRES_NEW:必须使用新的,如果有事务则当前事务挂起,创建一个新 的事务

propagation_NOT_SUPPORTED:不支持。如果有事务则挂起

propagation_NEVER:从不,如果有事务,就抛异常

propagation_NESTED:嵌套执行

超时信息:

事务执行时间不能过长,否则会大量占用数据库资源。如果没有执行完就自动回滚,不能一直等待

是否只读:

优化措施

MySql事务举例:

set autocommit = false;
INSERT INTO `school`.`student` (`sid`, `sname`, `sage`, `ssex`, `saddr`) VALUES ('1101', '张翠山', '22', '男', '南京');
savepoint a;
INSERT INTO `school`.`student` (`sid`, `sname`, `sage`, `ssex`, `saddr`) VALUES ('1102', '张翠山', '22', '男', '南京');
rollback to a;
commit;
标签: spring mysql java

本文转载自: https://blog.csdn.net/weixin_48807799/article/details/126657597
版权归原作者 骑猪跑的少年 所有, 如有侵权,请联系我们删除。

“Spring事务(一)”的评论:

还没有评论