事务管理

l 事务:一组业务操作ABCD,要么全部成功,要么全部不成功。
l 特性:ACID
原子性:整体
一致性:完成
隔离性:并发
持久性:结果
l 隔离问题:
脏读:一个事务读到另一个事务没有提交的数据
不可重复读:一个事务读到另一个事务已提交的数据(update)
虚读(幻读):一个事务读到另一个事务已提交的数据(insert)
l 隔离级别:
read uncommitted:读未提交。存在3个问题
read committed:读已提交。解决脏读,存在2个问题
repeatable read:可重复读。解决:脏读、不可重复读,存在1个问题。
serializable :串行化。都解决,单事务。
在这里插入图片描述
l mysql 事务操作–简单ABCD 一个事务Connection conn = null;try{  //1 获得连接  conn = …;  //2 开启事务  conn.setAutoCommit(false);  A  B  C  D  //3 提交事务  conn.commit();} catche(){  //4 回滚事务  conn.rollback();} l mysql 事务操作–Savepoint需求:AB(必须),CD(可选) Connection conn = null;Savepoint savepoint = null;  //保存点,记录操作的当前位置,之后可以回滚到指定的位置。(可以回滚一部分)try{  //1 获得连接  conn = …;  //2 开启事务  conn.setAutoCommit(false);  A  B  savepoint = conn.setSavepoint();  C  D  //3 提交事务  conn.commit();} catche(){  if(savepoint != null){   //CD异常     // 回滚到CD之前     conn.rollback(savepoint);     // 提交AB     conn.commit();  } else{   //AB异常     // 回滚AB     conn.rollback();  }}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值