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

相关推荐
爱编程的小新☆2 分钟前
LangGraph4j工作流框架
前端·数据库·ai·langchain·langgraph4j
programhelp_15 分钟前
Google 2026 New Grad SDE VO 三轮面试详解 | 含Behavioral、Coding、Design
java·服务器·数据库
czhc114007566327 分钟前
数据库520 HALCONAN安装
数据库
阿坤带你走近大数据32 分钟前
Oracle中的OGG介绍
数据库·oracle
Ether IC Verifier34 分钟前
TCP/IP协议握手原理详解——结合以太网连接过程
服务器·网络·数据库·网络协议·tcp/ip
宋浮檀s39 分钟前
SQL注入基础+DVWA搭建
数据库·sql·安全·网络安全
Amarantine、沐风倩✨1 小时前
Oracle 性能排查:通过 V$LONG_EXEC_SQLS 快速定位慢 SQL
数据库·sql·oracle
倔强的石头1061 小时前
生产环境排坑实录:SQL 标量子查询的“静默杀手”与优化器的智能推演
数据库·sql
jnrjian1 小时前
控制用户alter user 修改密码的两种办法 dbv and triggers
数据库·oracle
米高梅狮子1 小时前
01.mysql的备份与恢复
运维·数据库·mysql·docker·容器·kubernetes·github