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;

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值