当前位置: 首页 > news >正文

网站建设的工作wordpress适配熊掌号

网站建设的工作,wordpress适配熊掌号,天津建设工程网官网,网站建设一龙条Spring 事务 事务的基本概念 🔹 什么是事务? 事务是一组数据库操作,它们作为一个整体,要么全部成功,要么全部回滚。 常见的事务场景: 银行转账(扣款和存款必须同时成功) 订单系统…

Spring 事务

事务的基本概念

🔹 什么是事务?

事务是一组数据库操作,它们作为一个整体,要么全部成功,要么全部回滚。 常见的事务场景:

  • 银行转账(扣款和存款必须同时成功)

  • 订单系统(创建订单和扣减库存必须同时成功)

🔹 事务的四大特性(ACID)

特性说明
A(原子性,Atomicity)事务中的所有操作要么全部成功,要么全部失败
C(一致性,Consistency)事务执行后,数据库状态必须保持一致
I(隔离性,Isolation)并发事务之间不会互相影响
D(持久性,Durability)事务提交后,数据被永久保存

事务分为两种:

声明式事务:

使用Spring的@Transactional注解来管理事务

name"error" 时,抛出异常,事务回滚,数据不会被插入数据库

name"John" 时,正常插入数据,事务提交。

编程式事务:

需要手动控制的事务

事务控制的步骤

  1. 配置数据库连接

  2. 将食物管理器加尔uioc容器,并将数据库连接的对象传入事务管理器

  3. 在配置类上方写上@EnableTransactionManagement注解,表示开启事务管理

  4. 在要开启事务的方法上写@Transactional注解

事务的属性

1.只读readonly

设置方式:在@Transactional注解中加上属性readOnly,设置为true,即此方法的事务操作为只读模式,如果有DML的语句,就会报错。

防止误修改数据:如果在 readOnly = true 的事务中尝试修改数据,可能会抛出异常(取决于数据库)。

适用于只读操作:如 查询数据,但不涉及 插入、更新、删除 操作。

2.时间超时timeout

设置方式: 在@Transactional注解中加上属性timeout = xx ,此时事务若长时间占用资源,会自动回滚

3.rollbackFor

@Transactional(rollback = Exception.class)用于指定哪写异常需要回滚

3.noRollbackFor

@Transactional(rollback = Exception.class)用于指定哪写异常不需要回滚

4.Isolation Level

隔离级别有四种

1.READ_UNCOMMITTED(允许脏读)

修改表数据,即使事务未提交也可以查询到修改数据(脏读)

2.READ_COMMITTED

防止了脏读,会发生不可重复读(事务1开启,查询一个数据,还未提交,事务二修改一个数据并提交,此时用事务一再查询,得到的是修改后的数据)

3.REPEATABLE_READ

防止了不可重复读,可能发生幻读(和不可重复读类似,但不可重复读是数据修改,幻读是新增或删除数据)

4.SERIALIZABLE

此为做高级别,可以防止以上全部情况

推荐 READ_COMMITTED 作为默认隔离级别(防止脏读,性能较好)。

对于高并发场景(如库存管理),建议 REPEATABLE_READ,防止不可重复读。

对于金融级别的事务(如转账),使用 SERIALIZABLE,确保数据一致性(但性能较差)。

避免 READ_UNCOMMITTED,因为它可能导致数据不一致问题。

propagation传播

名称含义
REQUIRED(默认值)如果父方法有事务,就加入,如果没有就新建,自己独立
REQUIRES_NEW不管父方法是否有事务,我都新建事务,都是独立的

http://www.dtcms.com/a/606964.html

相关文章:

  • 网站开发和合同范本二维码设计软件
  • 关于网站关停的申请企业网站怎么扣费的
  • 非安防领域调试心得-兼顾收敛速度和过渡平滑效果的一些优化措施
  • asp网站后台密码破解项目名称
  • pink老师html5+css3day09
  • .net做网站开发网站后台怎么上传表格
  • .NET 9使用Serilog
  • 网站升级维护通知怎样做天猫 淘宝网站导购
  • 水果网站设计论文优舟网站建设
  • 【IP】公有&私有IP地址?
  • 《道德经》第五十六章
  • adb devices查看不到设备 是线长超过1米的原因?
  • 可视化的做网站的app泰安网站建设制作电话号码
  • dw个人网站模板外国语学院英文网站建设
  • 解锁 AI 开发技能:环境搭建、工具详解与第一个 AI 程序实战
  • 在 VSCode 中:lvgl库函数和lv_drivers以静态链接库的形式参与c应用项目的运行
  • 清华任天令团队《Nature》子刊: 基于无感化电子的运动非束缚动态心电系统
  • dify的是什么?怎么使用?
  • 湖仓一体部署
  • 地接做的网站企业为什么做企业网站和推广
  • STM32 HAL库原子操作编译问题解决指南
  • 珠海门户网站建设多少钱网站做前端
  • 建设银行征信中心网站石景山广州网站建设
  • 08.引用
  • 网站综合查询工具wordpress群聊
  • 服务器里面如何做网站怎么提交网址让百度收录
  • 福州做网站的公成都it培训机构
  • 蓝桥java蜗牛
  • 05.判断和循环
  • wordpress 制作手机站万网域名注册后如何做网站教学