文档章节

java中jdbc多表操作事物回滚

wangmeilian
 wangmeilian
发布于 2016/04/11 10:57
字数 289
阅读 47
收藏 0

提出问题:通过jdibc分别对四个表进行插入操作,如果有一个表插入失败,其他操作也无效,请问怎么让这四个类中的插入方法绑定在一个事物中,异常后回滚?

解决问题:
可以把要执行的四个SQL语句写到同一个List中再调用此方法
你也可以自己写
主要注意
执行sql插入前要取消自动提交 con.setAutoCommit(false);
全部sql语句执行完成后再提交 con.commit();
执行过程抛出异常则回滚      con.rollback();
希望对你有帮助

public boolean exeupdate(List<String> sqls) throws SQLException {
 boolean flag = false;
 openPoolConnection();//创建连接
 try {
  //取消自动提交 
  con.setAutoCommit(false);
  for(int i=0;i<sqls.size();i++)
  {
      pstmt = con.prepareStatement(sqls.get(i));
      int rows = pstmt.executeUpdate();
  }
         flag = true;
         con.commit();//提交
 } catch (Exception e) {
      con.rollback();//回滚
  e.printStackTrace();
 } finally {
      this.closeAll();//关闭连接 数据集 语句对象
 }
 return flag;
 } 



© 著作权归作者所有

共有 人打赏支持
wangmeilian
粉丝 0
博文 6
码字总数 4018
作品 0
东城
私信 提问
Java 集群并发处理方法

业务需求 1.一个业务流程会涉及到多个表联动操作 2.在业务流程中其中一个表操作出现问题该次业务流程操作会全部回滚。 3.这个业务流程中有多个表都需要取原数据进行计算 目前的使用场景 1.一...

简讯ing
2016/05/10
2.4K
9
Oracle和MySQL数据库的比较

本次使用Oracle11g和MySQL5.0作比较,目的是为了整理和巩固所学的数据库知识,也为了加深印象.(本人菜鸟,请大神们多多指教) 不同点 所占内存不同 Oracle11g在官网上下载的时候显示大约2g大小的...

青椒炒盖饭
2018/12/19
0
0
JDBC事务管理及SavePoint示例

默认情况下,当我们创建一个数据库连接时,会运行在自动提交模式(Auto-commit)下。这意味着,任何时候我们执行一条SQL完成之后,事务都会自动提交。所以我们执行的每一条SQL都是一个事务,...

heroShane
2014/02/07
0
0
基于可靠消息方案的分布式事务(二):Java中的事务

前言:在上一篇文章 基于可靠消息方案的分布式事务:Lottor介绍 中介绍了常见的分布式事务的解决方案以及笔者基于可靠消息方案实现的分布式事务组件Lottor的原理,并展示了应用的控制台管理。...

aoho
2018/06/01
0
0
JDBC事务和JTA事务的区别 --包含spring事务 声明式事务

一、事务概述 事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做。 与事务相关的操作主要有: BEGIN TRANSACTION; 开始一个事务,方法是:begin...

oswebgod
2018/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊flink的Async I/O

序 本文主要研究一下flink的Async I/O 实例 // This example implements the asynchronous request and callback with Futures that have the// interface of Java 8's futures (which is t......

go4it
17分钟前
0
0
一文详解微服务架构的数据设计

微服务是一个软件架构模式,对微服务的讨论大多集中在容器或其他技术是否能很好的实施微服务这些方面。 本文将从以下几个角度来和大家分享在微服务架构下进行数据设计需要关注的地方,旨在帮...

java菜分享
27分钟前
2
0
Java并发编程之美读书笔记-并发编程基础1

线程 进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,比如idea运行代码时的jvm是一个进程,但是CPU资源比较特殊,它是被分配到线程的,线程是进程的一个执行路...

hensemlee
40分钟前
1
0
【剑指offer纪念版】--10 进制1的个数

10. 题目 题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2。 解题思路   把一个整数减去1,再和原整...

细节探索者
55分钟前
2
0
本科毕业平均年薪 30 万!经济寒冬挡不住 AI 人才的火热!

互联网行业遭遇寒冬,企业纷纷裁员缩招,而 BAT 和硅谷明星公司对 AI 人才的投入却并不见放缓。为争夺相关人才,给应届毕业生开出的平均年薪高达 30 万。 而 TensorFlow 作为当下最流行的深度...

AI女神
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部