Web后端开发:事务管理

#优快云 年度征文|回顾 2023,赢专属铭牌等定制奖品#

目录

一、事务

1.什么是事务?

2.事务的操作指令

3.实际运用

二、spring事务管理

1.@Transactional注解

2.yml配置文件中加入spring事务管理日志

三、事务进阶

1.事务属性---回滚(rollbackFor)

2.事务属性---传播行为(propagation)


一、事务

1.什么是事务?

(1)事务是一组操作的集合,它会把所有的操作作为一个整体一起向数据库提交或者撤销操作请求,它是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败。

(2)运用场景:

  假设现在有两张数据库表,type(图片分类)和picture(图片),两张表中分别存有数据。现在有一个需求:删除图片分类为风景这个类型,且删除该分类下的所有图片。

  假设这个需求分两步完成:1)删除type表中风景这个分类;2)删除picture表中type_id=1的这些图片。如果完成第一步操作的时候成功了,但是在完成第二步的时候失败了。在没有使用事务的情况下,数据库中的数据就会不一致。因为在type表中风景这个图片分类删除成功,但是picture表中属于type_id=1的这个分类的图片没有被删除,造成了数据不一致 。因此,对数据库中的数据有修改的一些连续操作,需要将他们放到一个事务中来确保数据库里面的数据一致。当这些操作都成功时,提交事务(分类及所属该分类的图片都成功在数据库中删除);当这些操作中有一个操作没有成功,回滚事务(数据库中的数据不会发生修改)。

type(图片分类)
id(主键) name(名称)
1 风景
2 萌宠
3 二次元
4 微信
picture(图片)
id(主键)

type_id(分类id)

name(名称)
1 1 风景1
2 1 风景2
3 2 萌宠1
4 2 萌宠2
5 3 二次元1
6 4 微信1
7 4 微信2

2.事务的操作指令

(1)开启事务:start transaction / begin;

一组操作开始前,开启事务。

ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值