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

相关推荐
RestCloud12 分钟前
Kafka实时数据管道:ETL在流式处理中的应用
数据库·kafka·api
寻星探路1 小时前
数据库造神计划第九天---增删改查(CRUD)(5)
数据库
Alan521592 小时前
🚀 阿里云 ECS + MySQL 环境搭建全流程(用于个人博客系统开发)
数据库·程序员
Huhbbjs2 小时前
SQL 核心概念与实践总结
开发语言·数据库·sql
wuyunhang1234562 小时前
Redis---集群模式
数据库·redis·缓存
sensenlin912 小时前
Mybatis中SQL全大写或全小写影响执行性能吗
数据库·sql·mybatis
IAtlantiscsdn3 小时前
Redis Stack扩展功能
java·数据库·redis
没有bug.的程序员4 小时前
Redis 大 Key 与热 Key:生产环境的风险与解决方案
java·数据库·redis·缓存·热key·大key
王维志4 小时前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database