【JDBC】事务管理

1.JDBC事务管理

1.1 简介

  • 事务:ACID特性
  • 对于DDL是无效的,DDL一旦执行,都会自动提交
  • 如果JDBC连接处理,默认情况下,自动提交式。每个SQL语句在完成后都会提交到数据库中对于
  • 特殊情况,需要关闭自动提交,管理自己的事务(提高性能、保持业务流程的完整性、使用分布式程序保证事务)

1.2 操作流程

  • 开启事务:connection.setAutocommit(false)
  • 提交事务:connection.commit();
  • 回滚事务:connection.rollback();

1.3 保存点SavePoint

有时候一个事务可能是一组复杂的语句,因此可能要回滚到某个特殊点。保存点帮我们在事务中创建这个点,让程序回滚到指定点。在程序中可以设置多个保存点。当事务提交或者事务回滚后,为事务产生的任何保存点都会自动释放并变为无效。把事务回滚到一个保存点,会使其他所有保存点自动释放并变为无效。

  • 在事务中创建保存点
  • 异常中捕捉保存点并回滚到保存点

//设置一个保存点

Savepoint savepoint=connection.setSavepoint();

//回滚保存点

connection.rollback(savepoint);

相关推荐
围炉聊科技29 分钟前
长期免费的数据库方案——零成本基建系列
数据库
梁辰兴2 小时前
软件工程:数据结构设计
数据库·软件工程·设计原则·设计方法·梁辰兴·数据库结构设计·数据库结构类型
AC赳赳老秦3 小时前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
灯澜忆梦4 小时前
【MySQL18】进阶篇 | MySQL管理
数据库·mysql
zcmodeltech4 小时前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
AI多Agent协作实战派4 小时前
AI多Agent协作系统实战(四十):AI说“没有错误“,系统判了“测试失败“——一个正则的误判
数据库·人工智能
隔窗听雨眠5 小时前
OceanBase接入DeepSeek:数据库与AI的深度融合如何改写企业数据规则
数据库·人工智能·oceanbase
playboy1345 小时前
工作室 NAS 存储故障-办公室所有数据无法访问怎么办
数据库
byxdaz6 小时前
jeston平台交叉编译Poppler库与预览pdf文件
数据库
SilicoCode6 小时前
江科大STM32入门:FLASH闪存详解——从结构原理到读写保护
数据库·mongodb