文档章节

java中jdbc多表操作事物回滚

wangmeilian
 wangmeilian
发布于 2016/04/11 10:57
字数 289
阅读 43
收藏 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
东城
JDBC事务管理及SavePoint示例

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

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

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

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

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

oswebgod
07/30
0
0
spring Transactional(转)

经常用到老搞混,从网上摘了点记录下来。 // 业务方法需要在一个事物中运行,如果方法运行时,已经存在一个事物中, // 那么加入该事物,否则为自己创建一个新事物。 @Transactional(propaga...

blooms
2012/09/13
0
0
spring Transactional

经常用到老搞混,从网上摘了点记录下来。 // 业务方法需要在一个事物中运行,如果方法运行时,已经存在一个事物中, // 那么加入该事物,否则为自己创建一个新事物。 @Transactional(propaga...

北京java
2012/06/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ在CentOS环境安装

1.废话不多说准备一台虚拟机,系统为centos,我这里使用的系统版本如下图所示:

凌晨一点
47分钟前
0
0
线程池相关

在java.util.concurrent包下,提供了一系列与线程池相关的类。 使用线程池的好处 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗; 提高响应速度。当任务到达时,任务...

edwardGe
49分钟前
0
0
学习大数据这三个关键技术是一定要掌握!

大数据时代全面来临,大数据、人工智能等技术引领科技创新潮流,获得国家政策大力支持,前景广阔。学习大数据技术的人自然是络绎不绝, 学习大数据虽然是一个趋势,但也要注意大数据培训课程...

董黎明
今天
0
0
jetbrains 上传代码到github

设置中找github 获取token 验证是否成功 测试git 生成key,一路回车即可 ssh-keygen -t rsa -C “youremail@example.com” 打开pub复制key,需要再次输入一次密码 验证是否成功,输入yes即可...

阿豪boy
今天
0
0
分布式服务框架(拾遗)

前言 现在的大部分工程都已经是基于分布式架构来处理。所以这里对分布式框架做一个简单的总结 常用的RPC框架 RPC框架原理 RPC(Remote Procedure Call,远程过程调用)一般用来实现部署在不同...

kukudeku
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部