打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
必须同时成功失败的方法

import java.sql.*;

public class TestTransaction {
//设置默认提交false即setAutoCommit(false),执行完了再commit,try到任何SQLException都要回滚,回滚完了记得将默认提交改回去(true)

 public static void main(String[] args) throws SQLException {

  Connection conn = null;
  String url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
  Statement stmt = null;
  
  try {
   Class.forName("oracle.jdbc.driver.OracleDriver");
   conn = DriverManager.getConnection(url, "scott", "lomboz_eclipse");
   stmt = conn.createStatement();
   conn.setAutoCommit(false);
   stmt.addBatch("insert into dept values(11,'f','ff')");
   stmt.addBatch("insert into dept values(22,'f','ff')");
   stmt.addBatch("insert into dept values(32,'f','ff')");
   stmt.executeBatch();//注意执行在提交前面,不然都提交了还执行什么呢
   conn.commit();
   
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   try {
       if(conn !=null) {
    conn.rollback();//发生语句异常马上回滚
    conn.setAutoCommit(true);//默认的改回去哦
    }
   } catch (SQLException e1){
    e1.printStackTrace();
   }
   e.printStackTrace();
  } finally {
   if(stmt != null) {
    stmt.close();
    stmt = null;
   }
   if(conn != null) {
    conn.close();
    conn = null;
   }
  }
  
 }

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
[转]Statement和PreparedStatement批量更新
三种JDBC批量插入编程方法的比较
Java的jdbc使用addBatch进行批处理操作的几种方式
JDBC操作总结
java swing jdbc sql 增删改查 实例1
使用JDBC访问SQLServer 2005
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服