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

相关推荐
gma99926 分钟前
Etcd 框架
数据库·etcd
爱吃青椒不爱吃西红柿‍️28 分钟前
华为ASP与CSP是什么?
服务器·前端·数据库
Yz98761 小时前
hive的存储格式
大数据·数据库·数据仓库·hive·hadoop·数据库开发
苏-言1 小时前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...1 小时前
索引(MySQL)
数据库·mysql·索引
菠萝咕噜肉i2 小时前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
长风清留扬2 小时前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
OpsEye2 小时前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...2 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
远歌已逝5 小时前
维护在线重做日志(二)
数据库·oracle