jdbc-transaction

public static void main(String[] args) {

       Connection conn=null;

       Statement stmt=null;

       try {

           Class.forName("oracle.jdbc.driver.OracleDriver");

          conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","123456");

          stmt=conn.createStatement();

//首先用Connection中的setAutoCommit方法将自动commit设为false,因为JDBC默认是自动commit,执行完所要 执行的语句块后再用Connection的commit方法提交,完成后setAutoCommit(true),恢复JDBC的默认设置
           conn.setAutoCommit(false);

           stmt.addBatch("insert into dept2 values(50,'Game','Shanghai')");

           stmt.addBatch("insert into dept2 values(60,'Game','Shanghai')");

           stmt.addBatch("insert into dept2 values(70,'Game','Shanghai')");

           stmt.executeBatch();

           conn.commit();

          conn.setAutoCommit(true);
       } catch (ClassNotFoundException e) {

           // TODO Auto-generated catch block

           e.printStackTrace();

       }catch(SQLException e){

           e.printStackTrace();   

//捕捉到任何的SQLException立刻rollback,然后恢复JDBC的默认设置
          try{

              if(conn!=null){

                  conn.rollback();

                  conn.setAutoCommit(true);

              }

           }catch(SQLException e1){

              e1.printStackTrace();

           }

       }finally{

           try {

              if(stmt!=null)

              stmt.close();

              }catch (SQLException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              }

           try {

              if(conn!=null)

              conn.close();

              }catch (SQLException e) {

                  // TODO Auto-generated catch block

                  e.printStackTrace();

              }            

       }

    }

转载于:https://www.cnblogs.com/371610785qq/p/7676891.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值