功能:
- 一个逻辑执行单元执行一系列操作时保证程序的正确性
- 当一个逻辑执行单元执行一系列的操作时,要么全部执行,要么全部不执行。
- 4个特性 ACID(原子性、一致性、隔离性和持久性)
-
jdbc中的事务,只要设置是否自动提交即可。
关闭自动提交,开启事务、开启自动提交,关闭事务
- package com.cxy.jdbc;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.Statement;
- /**
- * @author cxy @ www.cxyapi.com
- */
- public class TransactionTest
- {
- public static void main(String[] args) throws Exception
- {
- Class.forName("com.mysql.jdbc.Driver");
- try
- (
- Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root");
- Statement stmt=con.createStatement();
- )
- {
- System.out.println("开启事务");
- con.setAutoCommit(false); //关闭自动提交开启事务
- stmt.executeUpdate("insert into t_student values ('sw1','事务1','男')");
- stmt.executeUpdate("insert into t_student values ('sw2','事务2','女')");
- con.rollback();
- stmt.executeUpdate("insert into t_student values ('sw3','事务3','男')");
- stmt.executeUpdate("insert into t_student values ('sw4','事务4','女')");
- con.commit(); //如果你不提交那么本次操作不会对数据库造成任何
- System.out.println("事务提交");
- }catch(SQLException e)
- System.out.println("数据库操作出现异常");
- }
- }
- }