事务:一个事件的完成需要几个子操作的联合完成,只要有一个子操作执行失败,则数据回滚到原始状态,都成功则提交数据.
JDBC的事务使用示例: package com.bjsxt.translation;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement;
*/ public class TestTran { public static void main(String[] args) throws ClassNotFoundException, SQLException { //加载驱动 Class.forName(“oracle.jdbc.driver.OracleDriver”); //创建连接对象 Connection conn=DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”, “scott”,“oracle”); //设置事务为手动提交 conn.setAutoCommit(false); //创建sql命令对象 Statement stmt=conn.createStatement(); //创建sql命令 String sql1=“update student set money=money-1000 where snum=6”;//转账 String sql2=“update student set money=money2+1000 where snum=7”;//入账 //执行sql命令 try { int i1=stmt.executeUpdate(sql1); int i2=stmt.executeUpdate(sql2); System.out.println(i1+"----"+i2); conn.commit(); } catch (Exception e) { conn.rollback();//数据回滚 } //关闭资源 stmt.close(); conn.close(); } }