【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);

相关推荐
wayuncn1 小时前
哈尔滨电商企业服务器托管方案
运维·服务器·数据库
重整旗鼓~1 小时前
27.Redisson基本使用和可重入性
数据库·redis·缓存
瑶总迷弟1 小时前
使用 Docker 和 docker-compose 快速部署 openGauss
linux·数据库·云原生·eureka
C.R.xing2 小时前
Pyspark分布式访问NebulaGraph图数据库
数据库·分布式·python·pyspark·nebulagraph
九皇叔叔2 小时前
深度解析 PostgreSQL 中的 ctid、xmin、xmax:从原理到实战
数据库·postgresql
殷丿grd_志鹏2 小时前
开源项目RuoYi-Cloud-Plus详解——公网内网穿透到虚拟机环境(持续更新)
数据库·开源·内网穿透·虚拟机
木易 士心2 小时前
AI 在数据库操作中的各类应用场景、方案与实践指南
数据库·人工智能·oracle
SunsPlanter2 小时前
苍穹外卖--04--Redis 缓存菜品信息、购物车
数据库·redis·缓存
解决问题no解决代码问题3 小时前
oracle删除表与表空间清理机制
数据库·oracle
洲覆4 小时前
Redis 事务机制:Pipeline、ACID、Lua脚本
数据库·redis·缓存·lua