myssm天猫商城搭建11——@Transactional事务注解及其他小问题

本文探讨了在项目中使用@Transactional注解进行事务管理的方法,包括其在订单生成过程中的应用,以及如何确保数据操作的原子性、一致性和隔离性。同时,文中还提到了在代码实现中遇到的具体问题,如多参数处理和设计模式导致的bug修复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、@Transactional
在项目中,提交订单涉及到1.生成订单。2.生成订单item,所以需要涉及到事务管理

@Transactional相关参考:
https://www.jianshu.com/p/befc2d73e487
https://www.cnblogs.com/xd502djj/p/10940627.html
https://www.cnblogs.com/zuoxh/p/9724193.html

事务:
https://www.jianshu.com/p/bcfd48c4cbf4

事物是一个整体,结果就两种(成功或者失败)
要么全部成功(提交),要么全部失败(回滚),就算成功一部分也要(回滚)

事物的四个特性:

原子性:对数据进行操作的时候,要么全都执行,要么全都不执行。
一致性:和原子性是分不开的,事务执行成功,说明全部都执行了,那么就使数据库从一个一致性状态变到另一个一致性状了。
隔离性: 一个事务的执行不能被其他事务干扰
持续性: 事务一旦提交成功,那么数据库里的数据就会永久性的改变。

二、其他小问题
2.1 对于相同名称的多参数:
在这里插入图片描述
可以用String[]获取:
在这里插入图片描述

2.2该项目的购物车和购买订单复用orderitem设计模式会导致一个bug:当购物车中有某件产品,再进入产品详情页直接购买时,会顺带购买上购物车的相同产品,因为在购买时一个用户的相同产品属于同一个orderitem,注释掉buyone函数下部分代码即可修改本bug:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值