功能:

  1. 一个逻辑执行单元执行一系列操作时保证程序的正确性

 

知识点摘要:

  1. 当一个逻辑执行单元执行一系列的操作时,要么全部执行,要么全部不执行。
  2. 4个特性 ACID(原子性、一致性、隔离性和持久性)
  3. jdbc中的事务,只要设置是否自动提交即可。 
    关闭自动提交,开启事务、开启自动提交,关闭事务

 

程序演示: 缩小

  1. package com.cxy.jdbc;  
  2.   
  3. import java.sql.Connection;  
  4. import java.sql.DriverManager;  
  5. import java.sql.SQLException;  
  6. import java.sql.Statement;  
  7.   
  8. /** 
  9.  * @author cxy @ www.cxyapi.com 
  10.  */  
  11. public class TransactionTest  
  12. {  
  13.     public static void main(String[] args) throws Exception  
  14.     {  
  15.         Class.forName("com.mysql.jdbc.Driver");  
  16.         try  
  17.         (  
  18.             Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest""root""root");  
  19.             Statement stmt=con.createStatement();  
  20.         )  
  21.         {  
  22.             System.out.println("开启事务");  
  23.             con.setAutoCommit(false);  //关闭自动提交开启事务  
  24.             stmt.executeUpdate("insert into t_student values ('sw1','事务1','男')");  
  25.             stmt.executeUpdate("insert into t_student values ('sw2','事务2','女')");  
  26.             con.rollback();  
  27.             stmt.executeUpdate("insert into t_student values ('sw3','事务3','男')");  
  28.             stmt.executeUpdate("insert into t_student values ('sw4','事务4','女')");  
  29.             con.commit();  //如果你不提交那么本次操作不会对数据库造成任何  
  30.             System.out.println("事务提交");  
  31.         }catch(SQLException e)  
  32.         {  
  33.             System.out.println("数据库操作出现异常");  
  34.         }  
  35.     }  
  36.   
  37. }