java中jdbc多表操作事物回滚
java中jdbc多表操作事物回滚
wangmeilian 发表于2年前
java中jdbc多表操作事物回滚
  • 发表于 2年前
  • 阅读 22
  • 收藏 0
  • 点赞 1
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

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

提出问题:通过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;
 } 



  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 5
码字总数 4018
×
wangmeilian
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: